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

我建议制作另一个 s 数组String

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 回答