执行操作时更改图像

时间:2014-12-13 15:54:17

标签: java actionlistener

如何在执行操作时更改图像?我的图像存储在项目中。

声明的图片

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
    }
}

3 个答案:

答案 0 :(得分:1)

你必须致电

picLabel.setIcon(image);

答案 1 :(得分:1)

如果您为JLabel标签指定了新的picLabel,则会创建一个不属于您的UI的新对象。您的用户界面中的现有JLabelpicLabel引用,因此请调用

picLabel.setIcon(image);

应设置现有JLabel的图标。

答案 2 :(得分:0)

在您的班级和动作监听器调用picLabel中保留对picLabel.setIcon(new ImageIcon("Whatever.jpg"));的引用,以更改图片。