好吧,我在编码方面几乎是全新的,但我正在尝试。
我需要创建一个 ImageIcon,它将使用 switch 语句来确定要显示的图像。
我在这里查看了该线程:Change image with if statement
它推荐使用 switch 语句而不是 if 语句,所以我认为这会有所帮助。但是,当我编辑代码并将其更改为之前的代码时,我收到一条错误消息“ImageIcon 无法解析为变量”。我尝试了各种大写组合,但没有一个起作用。我将最初的代码留在了第一种情况下。该代码没有给我任何错误消息,但我认为我不应该为每种情况创建一个新的 ImageIcon,因为我需要从程序中仅提取一个 ImageIcon 并让 switch 语句确定要显示哪个图像。
修改后的代码
public ImageIcon dieImage(String string)
{
ImageIcon dieImage = new ImageIcon("");
switch (faceValue){
case 1: dieImage = new ImageIcon ("src/1.jpg");
break;
case 2: dieImage = new ImageIcon("src/2.jpg");
break;
case 3: dieImage = new ImageIcon("src/3.jpg");
break;
case 4: dieImage = new ImageIcon("src/4.jpg");
break;
case 5: dieImage = new ImageIcon("src/5.jpg");
break;
case 6: dieImage = new ImageIcon("src/6.jpg");
break;
}
return dieImage;
}
}
如有任何帮助,我们将不胜感激。
最佳答案
{
ImageIcon icon = new ImageIcon("");
}
去掉 {} 并只使用:
ImageIcon icon;
现在您的 switch 语句可以分配适当的图标供您的标签使用。
//case 1: ImageIcon = ("src/1.jpg");
case 1: icon = new ImageIcon("src/1.jpg");
您的语法无效,请修复如上所示的代码。
您的其他语句也不执行任何操作,因为它们只是创建一个图标,但该图标未分配给可以使用的变量。代码应该是:
//case 2: new ImageIcon("src/2.jpg");
case 2: icon = new ImageIcon("src/2.jpg");
然后要使用此图标,您需要更新包含该图标的标签:
label.setIcon( icon );
关于java - 如何使用 Switch 语句设置 ImageIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318875/