Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Switch语句设置图像图标_Java_Eclipse_Image_Switch Statement - Fatal编程技术网

Java 如何使用Switch语句设置图像图标

Java 如何使用Switch语句设置图像图标,java,eclipse,image,switch-statement,Java,Eclipse,Image,Switch Statement,好吧,我在编码方面几乎是个新手,但我正在努力 我需要创建一个ImageIcon,它将使用switch语句来确定要显示的图像 我看了这里的线索: 它建议使用switch语句而不是if语句,所以我认为这会有所帮助。但当我编辑我的代码,并将其更改为以前的代码时,我得到了一个错误,即“ImageIcon无法解析为变量”。我尝试过各种大小写组合,但都不起作用。我把最初的代码放在了第一个组合下面。该代码没有给我任何错误消息,但我认为我不应该为每种情况创建一个新的ImageIcon,因为我只需要从程序中的一个

好吧,我在编码方面几乎是个新手,但我正在努力

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

我看了这里的线索:

它建议使用switch语句而不是if语句,所以我认为这会有所帮助。但当我编辑我的代码,并将其更改为以前的代码时,我得到了一个错误,即“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 );

所以,我必须有一个“新”的图像图标为每个案件?这是更新的代码,其中包含您的建议和Eclipse希望我做的更改。现在没有错误,但我不确定返回的是“dieImage”还是“null”。谢谢你的帮助!@Rachel,是的,你返回图标。不要忘记“接受”答案,这样人们就知道问题已经解决。谢谢你的帮助。