我创建了一个带有图像的表单应用程序,该图像使用标签中的icon属性显示

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/replacment.jpg"))); // NOI18N
        getContentPane().add(jLabel2);
        jLabel2.setBounds(640, 220, 68, 30);


主要思想是当用户按下某个按钮时,图像会像这样消失

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("")));
    }


它可以成功运行,我尝试使用getIcon函数根据标签中显示的图像更改程序的代码,例如

if(jLabel2.getIcon()==""){
  do something
}


但是我收到一个错误消息:Java.swing.icon和Java.lang.string类型无法比。

那么有没有办法根据Label显示的图标执行if语句?

最佳答案

如果要删除图标,请使用setIcon(null),然后在if语句中检查Icon是否为空:

if (jLabel2.getIcon() == null)


将String与Icon进行比较是错误的,因为该错误表明您无法这样做。

09-11 17:20