我很难弄清楚如何在 Java 小程序中显示图像(或 ImageIcon)。以下是我的代码。图片(test.bmp)确实存在并且位于 D 驱动器上,但是当我运行它时,我得到的小程序窗口中没有任何内容。有人可以告诉我我缺少什么来使 ImageIcon 显示吗?
public class Form1 extends JApplet {
ImageIcon i;
public void init(){
i = new ImageIcon("D:\test.bmp");
}
public void paint(Graphics g){
i.paintIcon(this, g, 0, 0);
}
}
谢谢,史蒂夫。
当您从服务器运行小程序时,通过绝对本地文件路径引用图像可能不起作用。 使用 ImageIcon(URL 位置)构造函数,并让 URL 指向服务器上的图像资源。使用 JApplet.getCodeBase() 确定您的小程序的来源并将文件名附加到它。
public class Form1 extends JApplet {
Image i;
public void init() {
try {
i = ImageIO.read(new URL(getCodeBase(), "test.bmp"));
} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void paint(Graphics g) {
g.drawImage(i, 0, 0, null);
}
}
Edit:ImageIO 支持 BMP,更改后的示例对我有用。
Edit 2:如果它仍然不显示图像,请尝试“../test.bmp”,因为当您从 Eclipse 运行小程序时,它会显示bin
目录作为代码库。
Edit 3:如果将 test.bmp 放入 jar 或类路径中,则可以使用相同的方式加载它,但替换
new URL(getCodeBase(), "test.bmp")
with
Form1.class.getResource("test.bmp")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)