我知道这已经被回答过几次了,但是我发现的问题得到了程序特定代码块的回答,而我很难辨别是什么特定代码实际上改变了图像。我试图在运行时通过按下按钮来更改我的GUI上的jlabel图像。

public JPanel createContentPane (){
    JPanel totalGUI = new JPanel();
    totalGUI.setLayout(null);

    pictureArea = new JPanel();
    pictureArea.setLayout(null);
    pictureArea.setLocation(560, 0);
    pictureArea.setSize(860, 500);
    totalGUI.add(pictureArea);

    picture = new JLabel(image);
    picture.setLocation(0, 0);
    picture.setSize(800, 800);
    picture.setHorizontalAlignment(0);
    pictureArea.add(picture);

    //skipping other code

    decision2 = new JButton("Next");
    decision2.setLocation(160, 20);
    decision2.setSize(70, 30);
    decision2.addActionListener(this);
    buttonPanel.add(decision2);

    return totalGUI;
}
public void actionPerformed(ActionEvent e) {
    //skipped other code
    else if(e.getSource() == decision2){
       //code i need for changing the image
    }
}


感谢您提供任何帮助。

最佳答案

您正在寻找JLabel's setIcon方法

label.setIcon(new ImageIcon(getClass().getResource("/path/to/image.png")));

关于java - 如何更改JLabel的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22869946/

10-10 22:49