Java Icon/ImageIcon.setIcon onyl在awd条件下工作

Java Icon/ImageIcon.setIcon onyl在awd条件下工作,java,jframe,game-engine,Java,Jframe,Game Engine,我想做一个简单的棋盘游戏,当你点击一个按钮时,它的图像被设置为你所选择的角色的图像 这: 不起作用。它在按钮上放置了一个小小的白点,其他什么都没有。 iconImg调用士兵类中的图标 String name = soldier; Icon iconImg = new ImageIcon("/Resources/"+name+"Img.png"); 现在当我这样做的时候: board[x][y].setIcon(new ImageIcon("/Resources/soldierImg.png")

我想做一个简单的棋盘游戏,当你点击一个按钮时,它的图像被设置为你所选择的角色的图像

这:

不起作用。它在按钮上放置了一个小小的白点,其他什么都没有。 iconImg调用士兵类中的图标

String name = soldier;
Icon iconImg = new ImageIcon("/Resources/"+name+"Img.png");
现在当我这样做的时候:

board[x][y].setIcon(new ImageIcon("/Resources/soldierImg.png"));
它很好用

我找到了一些解决问题的方法:

board[x][y].setIcon(new ImageIcon("Resources/"+Soldier.name+"Img.png"));

然而,我仍然很困惑为什么第一种方法不起作用,而第二种方法起作用。有人知道吗?

根据您发布的代码,无法知道
soldier
变量的值是多少。我们只知道它不是“士兵”。而且您不尊重Java命名约定。而且你正在使用公共字段。如果您需要帮助,请发布一个完整的简单示例,再现问题。String name=“soldier”NOT String name=soldier;对于您发布的代码,无法知道
soldier
变量的值。我们只知道它不是“士兵”。而且您不尊重Java命名约定。而且你正在使用公共字段。如果您需要帮助,请发布一个完整的简单示例,再现问题。String name=“soldier”NOT String name=soldier;
board[x][y].setIcon(new ImageIcon("Resources/"+Soldier.name+"Img.png"));