Java:如何根据选择的单选按钮更改图像面板中的图像

Java:如何根据选择的单选按钮更改图像面板中的图像,java,swing,jradiobutton,Java,Swing,Jradiobutton,我是一个java初学者,我的java技能很烂。在我的jframe中,我有一个jpanel(下图),用于绘制图像。我希望每当radiobutton(在另一帧中)触发ItemEvent并单击类似于将触发ActionEvent的save按钮的内容时,图像都会发生更改。我打算将其用于角色选择界面,如MMORPG等。下面的图像面板用于我的游戏中的武器选择界面 class Weapons extends JPanel { private Image weaponimage = weapon2.ge

我是一个java初学者,我的java技能很烂。在我的jframe中,我有一个jpanel(下图),用于绘制图像。我希望每当radiobutton(在另一帧中)触发ItemEvent并单击类似于将触发ActionEvent的save按钮的内容时,图像都会发生更改。我打算将其用于角色选择界面,如MMORPG等。下面的图像面板用于我的游戏中的武器选择界面

class Weapons extends JPanel {

    private Image weaponimage = weapon2.getImage();

    @Override
    protected void paintComponent(Graphics g) {
    super.paintComponent(g);

        g.drawImage(weaponimage, 0, 0,  this);
    }
}

武器2是一个图像图标。提前感谢。

最简单的方法是根本不使用自定义面板,而是使用
JLabel
作为图像容器。然后,您可以使用以下方法更改图像:

label.setIcon(new ImageIcon(theNewWeaponImage));
编辑:因为看起来您已经有了图标,所以您可以直接使用这些图标:

label.setIcon(theNewWeaponIcon);

最简单的方法是根本不使用自定义面板,而是使用
JLabel
作为图像容器。然后,您可以使用以下方法更改图像:

label.setIcon(new ImageIcon(theNewWeaponImage));
编辑:因为看起来您已经有了图标,所以您可以直接使用这些图标:

label.setIcon(theNewWeaponIcon);

最简单的方法是根本不使用自定义面板,而是使用
JLabel
作为图像容器。然后,您可以使用以下方法更改图像:

label.setIcon(new ImageIcon(theNewWeaponImage));
编辑:因为看起来您已经有了图标,所以您可以直接使用这些图标:

label.setIcon(theNewWeaponIcon);

最简单的方法是根本不使用自定义面板,而是使用
JLabel
作为图像容器。然后,您可以使用以下方法更改图像:

label.setIcon(new ImageIcon(theNewWeaponImage));
编辑:因为看起来您已经有了图标,所以您可以直接使用这些图标:

label.setIcon(theNewWeaponIcon);

谢谢但我这么做是有目的的。问题是,我不知道如何从这个定制面板类之外声明一个图像,如果我这样做了,我就可以让if语句为我做其余的事情。不过还是要谢谢你,先生。@RejAverion如果你无法确定图像应该是什么,你打算如何从任何地方更改图像?再仔细看看这个问题,您似乎有
图标
。然后
label.setIcon(theNewIcon)
应该可以工作。(在回答中加上这个)谢谢。但我这么做是有目的的。问题是,我不知道如何从这个定制面板类之外声明一个图像,如果我这样做了,我就可以让if语句为我做其余的事情。不过还是要谢谢你,先生。@RejAverion如果你无法确定图像应该是什么,你打算如何从任何地方更改图像?再仔细看看这个问题,您似乎有
图标
。然后
label.setIcon(theNewIcon)
应该可以工作。(在回答中加上这个)谢谢。但我这么做是有目的的。问题是,我不知道如何从这个定制面板类之外声明一个图像,如果我这样做了,我就可以让if语句为我做其余的事情。不过还是要谢谢你,先生。@RejAverion如果你无法确定图像应该是什么,你打算如何从任何地方更改图像?再仔细看看这个问题,您似乎有
图标
。然后
label.setIcon(theNewIcon)
应该可以工作。(在回答中加上这个)谢谢。但我这么做是有目的的。问题是,我不知道如何从这个定制面板类之外声明一个图像,如果我这样做了,我就可以让if语句为我做其余的事情。不过还是要谢谢你,先生。@RejAverion如果你无法确定图像应该是什么,你打算如何从任何地方更改图像?再仔细看看这个问题,您似乎有
图标
。然后
label.setIcon(theNewIcon)
应该可以工作。(在答案中加上)