在.jar文件中的jLabel上引用bufferedImage

时间:2018-07-26 10:28:35

标签: java swing bufferedimage

我从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

0 个答案:

没有答案