java中jframe不存在怎么办,java – 设置JFrame背景,为什么这不起作用?
打印加載圖像的寬度(如果為-1)則圖像未正確加載.
img = Toolkit.getDefaultToolkit().createImage("red.png");
System.out.println(img.getWidth(null)); // check what it prints
值得閱讀Loading Images Using getResource上的Java Tutorial
您可以根據(jù)圖像位置嘗試任何一種.
// Read from same package
ImageIO.read(getClass().getResourceAsStream("c.png"));
// Read from images folder parallel to src in your project
ImageIO.read(new File("images/c.jpg"));
// Read from src/images folder
ImageIO.read(getClass().getResource("/images/c.png"))
// Read from src/images folder
ImageIO.read(getClass().getResourceAsStream("/images/c.png"))
Read more…
一些要點(diǎn):
>調(diào)用super.paintComponent(g);在重寫的paintComponent()方法的第一行.
>使用ImageIO而不是Toolkit加載圖像.
>使用frame.pack()代替frame.setSize(),它根據(jù)組件的首選大小調(diào)整組件.
>在自定義繪制的情況下,覆蓋getPreferredSize()以設(shè)置JPanel的首選大小.
>使用SwingUtilities.invokeLater()或EventQueue.invokeLater()確保正確初始化EDT.
> Why to use SwingUtilities.invokeLater in main method?
> SwingUtilities.invokeLater
> Should we use EventQueue.invokeLater for any GUI update in a Java desktop application?
總結(jié)
以上是生活随笔為你收集整理的java中jframe不存在怎么办,java – 设置JFrame背景,为什么这不起作用?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dslstat.exe是什么进程 ds
- 下一篇: dsnthapp.exe是什么进程 ds