java - 如何使用 Switch 语句设置 ImageIcon

标签 java eclipse image switch-statement

好吧,我在编码方面几乎是全新的,但我正在尝试。

我需要创建一个 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/

相关文章:

eclipse - 工作区机械师的企业配置

java - 在 Eclipse 中编辑项目外的 Java 文件

javascript - 如何预加载图像

java - 为什么 Galileo 更新站点是空的?

Java:如何使用 RegEx 解析和验证字符串?

java - 在Java的paint方法中调用对象方法

java - Eclipse 安装程序找不到 Java

css - 为什么我的背景 CSS 图像没有出现在 DIV 中?

java - 如何在jsp中显示位于服务器根目录下的图像

java - Android - 在fragment之间切换;菜单项问题