Java 当JButton上的文本更改时,创建JButton的永久隐藏值

Java 当JButton上的文本更改时,创建JButton的永久隐藏值,java,arrays,jbutton,Java,Arrays,Jbutton,我有一个包含64个JButton的数组,并希望为它们提供所有必须保持不变的co ordiantes隐藏值。JButton上的文本将根据选择的坐标进行更改 有办法做到这一点吗 这是我在按钮上添加文本的代码: for (int j = 0; j < pieces.length; j++){ for (int i = 0; i < pieces[j].length; i++){ if (pieces[i][j] == null)

我有一个包含64个JButton的数组,并希望为它们提供所有必须保持不变的co ordiantes隐藏值。JButton上的文本将根据选择的坐标进行更改

有办法做到这一点吗

这是我在按钮上添加文本的代码:

for (int j = 0; j < pieces.length; j++){

        for (int i = 0; i < pieces[j].length; i++){
            if (pieces[i][j] == null)
                contentPane.add(new JButton(" "));
            else {
                p = pieces[i][j].getChar();
                System.out.println(i + ","+j+","+p);
                contentPane.add(new JButton (Character.toString(p)));
            }
        }
    }
for(int j=0;j
解决方案#1:按每个按钮。组件名称是AWT或Swing根本不使用的任意字符串,这意味着您可以出于自己的目的自由使用它

解决方案#2:由于您正好有64个按钮,因此可以保留一个单独的64元素数据对象数组

解决方案3:您可以使用将任意数据附加到任何JComponent。这不是一个好的解决方案,因为您的代码将更难理解,并且更容易中断。(其他地方的其他代码必须“知道”才能查找特定的客户端属性,并且必须“知道”其类型。)

解决方案4:子类JButton并将坐标数据添加到子类中。这不是一个好的设计,因为您没有创建一种新的按钮组件。有更好的方法将数据与组件关联