Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改JButton的图像?_Java_Swing_Jbutton - Fatal编程技术网

Java 如何更改JButton的图像?

Java 如何更改JButton的图像?,java,swing,jbutton,Java,Swing,Jbutton,我正在做一个记忆游戏程序。我在JPanel上有30个按钮。当用户单击并找到匹配项(意味着两个按钮具有相同的图像)时,我想将JButton上的图像更改为不同的图像。但是,在程序运行时不会发生这种情况 我该怎么做 我是这样做的: cards[i].setIcon(cardBack); 其中cardBack是我已经拥有的图像图标 使用jToggle按钮。更具体地说,使用setIcon和setSelectedIcon方法。使用这种方法,您将避免重新发明轮子 例如: import java.awt.Fl

我正在做一个记忆游戏程序。我在JPanel上有30个按钮。当用户单击并找到匹配项(意味着两个按钮具有相同的图像)时,我想将JButton上的图像更改为不同的图像。但是,在程序运行时不会发生这种情况

我该怎么做

我是这样做的:

cards[i].setIcon(cardBack);

其中cardBack是我已经拥有的图像图标

使用jToggle按钮。更具体地说,使用setIcon和setSelectedIcon方法。使用这种方法,您将避免重新发明轮子

例如:

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JToggleButton;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

final class JToggleButtonDemo {
    public static final void main(final String[] args) {
    SwingUtilities.invokeLater(new Runnable(){
        @Override
        public void run() {
            createAndShowGUI();
        }
    });
}
private static final void createAndShowGUI(){
    final JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new FlowLayout()); // For presentation purposes only.
    final JToggleButton button = new JToggleButton(UIManager.getIcon("OptionPane.informationIcon"));
    button.setSelectedIcon(UIManager.getIcon("OptionPane.errorIcon"));
    frame.add(button);
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
 }
}

您可以使用以下代码:

Icon i=新图像图标(“image.jpg”);
jButton1.setIcon(i)


并将您的图像(image.jpg)复制到您的项目文件夹中

这是更改图标的正确方法。您的错误可能在代码中的其他地方。