0

私は記憶ゲームプログラムに取り組んでいます。JPanel に 30 個の JButton があります。ユーザーがクリックして一致するもの (同じ画像を持つ 2 つのボタンを意味する) を見つけたら、JButton の画像を別の画像に変更したいと考えています。ただし、これはプログラムの実行中は発生しません。

これどうやってするの?

私はこれをしていました:

cards[i].setIcon(cardBack);

cardBack は、すでに持っている ImageIcon です。

4

2 に答える 2

6

このコードを使用できます:

Icon i=new ImageIcon("image.jpg"); jButton1.setIcon(i);

画像 (image.jpg) をプロジェクト フォルダーにコピーします。

于 2014-08-11T07:59:04.767 に答える
1

JToggleButton を使用します。具体的には、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);
 }
}
于 2014-03-08T15:43:40.173 に答える