2

私は画像パズルゲームをコーディングしています。コードの一部は、ユーザーが選択したピースを正しい画像のピースと比較することです。

各画像は、ImageIconとしてJButtonにすでに追加されています。

各画像を区別し、比較するために識別子が必要です。

識別子として作成された各JButtonにsetText()を設定しています。

ただし、そうすると、ImageIconとsetTextの両方がJButtonに表示されます。

setText値を非表示にして、ImageIconのみを表示する方法はありますか?

        private String id;
        private int cc;
        private JButton[] button = new JButton[9];

        cc += 1;
        id += ""+cc;

        for(int a=0; a<9; a++){
            // dd refers to the variable for the image pieces for each JButton
        button[a].setIcon(new ImageIcon( dd ));
        button[a].setText(id);
        }
4

1 に答える 1

2

Stringsの別の配列を作成することをお勧めします。

String[] ids = new String[button.length];

そして、button[a]のIDはになりますids[a]

変更を加えたコードは次のとおりです。

    private String id;
    private int cc;
    private JButton[] button = new JButton[9];
    private String[] ids = new String[button.length];

    //cc += 1;
    //id += ""+cc;
    id += Integer.toString(++cc); //easier way

    for(int a=0; a<9; a++){
        // dd refers to the variable for the image pieces for each JButton
        button[a].setIcon(new ImageIcon( dd ));
        ids[a] = id;
    }
于 2013-01-19T14:46:56.390 に答える