如何在执行操作时更改图像?我的图像存储在项目中。
声明的图片
image = new ImageIcon ("1.jpg");
image2 = new ImageIcon ("3.jpg");
image3 = new ImageIcon ("2.jpg");
picLabel = new JLabel(image);
ActionListener类
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(A)) {
image = new ImageIcon ("1.jpg");
//picLabel = new JLabel(image); didn't work
} else if(e.getSource().equals(B)) {
image = new ImageIcon ("2.jpg");
//picLabel = new JLabel(image2); didn't work
} else if(e.getSource().equals(C)) {
image = new ImageIcon ("3.jpg");
//picLabel = new JLabel(image3); didn't work
}
}
答案 0 :(得分:1)
你必须致电
picLabel.setIcon(image);
答案 1 :(得分:1)
如果您为JLabel
标签指定了新的picLabel
,则会创建一个不属于您的UI的新对象。您的用户界面中的现有JLabel
由picLabel
引用,因此请调用
picLabel.setIcon(image);
应设置现有JLabel
的图标。
答案 2 :(得分:0)
在您的班级和动作监听器调用picLabel
中保留对picLabel.setIcon(new ImageIcon("Whatever.jpg"));
的引用,以更改图片。