我创建了一个带有图像的表单应用程序,该图像使用标签中的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进行比较是错误的,因为该错误表明您无法这样做。