如何在一系列条件之后将Null ICON的现有JLabel更改为某个图标......我的逻辑肯定是清楚的,但也许我的sintaxis是问题,请帮助。
if(n==true){
trofeo1.setIcon(trofeo.png);
}
我的JLabel是trofeo1,n只是我逻辑的一个例子..
谢谢!
答案 0 :(得分:1)
在您的代码中,试试这个:
if (n == true) {
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
trofeo1.setIcon(new ImageIcon("trofeo.png"));
}
});
}
也许您可以通过执行以下操作来检查图像文件是否正确:
File f = new File("trofeo.png");
if (f.exists()) {
} else {
}
这是因为很多时候问题是图像位置。
然后,你说“也许我的sintaxis是问题...”,你的代码是否编译?您是否在trofeo1.setIcon()
行放置了一个断点并检查此行是否已执行?我认为这两个问题的答案是正确的。
此致
答案 1 :(得分:0)
您是否尝试使用repaint()
方法刷新JLabel?
if(n==true){
trofeo1.setIcon(new ImageIcon("trofeo.png"));
trofeo1.repaint();
}
此方法是组件显示的更新。
答案 2 :(得分:0)
对于那些最终来到这里的人,是的,我的链接或照片的路径是错误的,只需通过你的地毯寻找照片位置,复制网址就可以了。这是一个例子......
C:\用户\贝托\文件\的NetBeansProjects \ ProyectoFinal \ SRC \ proyectofinal \ trofeo.png
感谢所有试图提供帮助的人!
最终代码
if(n==true){
trofeo1.setIcon(new ImageIcon("C:\Users\Beto\Documents\NetBeansProjects\ProyectoFinal\src\proyectofinal\trofeo.png"));
trofeo1.repaint();
}