如何使用 Switch 语句设置 ImageIcon

How to set an ImageIcon using a Switch statement

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

我需要创建一个 ImageIcon,它将使用 switch 语句来确定要显示的图像。

我在这里查看了线程:Change image with if statement

建议使用 switch 语句而不是 if 语句,所以我认为它会有所帮助。但是当我编辑我的代码并更改它之前的代码时,我收到一条错误消息 "ImageIcon cannot be resolved to a variable"。我尝试了各种大写组合,但其中 none working.I 留下了我最初在第一种情况下的代码。该代码没有给我任何错误消息,但我认为我不应该为每种情况创建一个新的 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 );