我从Eclipse为一个项目创建了一个.jar
文件。
在创建.jar
之前,我正在阅读如下图像:
jLabel = new JLabel(new ImageIcon("src/someImage.png"));
但是现在,对于.jar
,我正在使用:
BufferedImage img = ImageIO.read(getClass().getResourceAsStream("someImage.png"));
jLabel = new JLabel(new ImageIcon(img));
哪个工作正常,但是在代码中更进一步,我需要在特定图像之间进行选择,并且非.jar文件使用了以下代码:
icon = jLabel.getIcon().toString();
if (icon.contains("happy")) {
// do something
但是显然这是行不通的。 icon
的出现就像javax.swing.ImageIcon@35083305
我尝试仅添加jLabel.setText("someText");
之类的内容,但无法检索到该文本。
我看到了this,并注意到BufferedImage
没有获取文件名的方法(当然,它可能不是文件)。
有没有办法以类似的方式引用jLabel
?