Eclipse Java 应用程序找不到资源
Eclipse Java application can't find resources
我正在制作的应用程序有启动画面。它是一个 JWindow
与一个 JPanel
和一个 JLabel
然后我在 JLabel
上有一个 ImageIcon
。 ImageIcon
使用 this.getClass.getResourceAsStream("GenericApp.png");
从 InputStream
加载。我的启动画面代码如下:
final JWindow window = new JWindow();
JPanel jp = new JPanel();
InputStream is = this.getClass().getResourceAsStream("GenericApp.png");
Image image = null;
try {
image = ImageIO.read(is);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JLabel l = new JLabel(new ImageIcon(image));
window.add(jp);
jp.add(l);
window.setBounds(500, 150, 300, 200);
window.setVisible(true);
try{
Thread.sleep(5000);
}catch(InterruptedException e){
e.printStackTrace();
}
window.setVisible(false);
当我启动我的项目时,我得到一个空白的 JWindow,其中包含我设置的尺寸。
我是这样解决的:
显然,图片需要一段时间才能加载。我在 Thread.sleep(5000)
完成加载图像之前调用 Thread.sleep(5000)
并因此中断了显示过程。这个故事的寓意是你几乎不想使用 Thread.sleep()
USE TIMERS INSTEAD.
此致,
托马斯
我正在制作的应用程序有启动画面。它是一个 JWindow
与一个 JPanel
和一个 JLabel
然后我在 JLabel
上有一个 ImageIcon
。 ImageIcon
使用 this.getClass.getResourceAsStream("GenericApp.png");
从 InputStream
加载。我的启动画面代码如下:
final JWindow window = new JWindow();
JPanel jp = new JPanel();
InputStream is = this.getClass().getResourceAsStream("GenericApp.png");
Image image = null;
try {
image = ImageIO.read(is);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JLabel l = new JLabel(new ImageIcon(image));
window.add(jp);
jp.add(l);
window.setBounds(500, 150, 300, 200);
window.setVisible(true);
try{
Thread.sleep(5000);
}catch(InterruptedException e){
e.printStackTrace();
}
window.setVisible(false);
当我启动我的项目时,我得到一个空白的 JWindow,其中包含我设置的尺寸。
我是这样解决的:
显然,图片需要一段时间才能加载。我在 Thread.sleep(5000)
完成加载图像之前调用 Thread.sleep(5000)
并因此中断了显示过程。这个故事的寓意是你几乎不想使用 Thread.sleep()
USE TIMERS INSTEAD.
此致,
托马斯