Java 当我知道按钮编号时动态访问按钮

Java 当我知道按钮编号时动态访问按钮,java,swing,Java,Swing,九个jbutton声明为: private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private

九个
jbutton
声明为:

private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JButton jButton9;
我本来可以有一个按钮数组,但它不适合应用程序。在程序运行期间,我希望在知道按钮编号时动态访问按钮。例如,在某些情况下,我希望按钮编号
5
setText(“X”)
。我有办法做到吗?
JButton
数组只需执行以下操作即可轻松解决问题:

buttonArray[5].setText("X")
但正如我所说,它总体上不适合应用程序


按按钮编号访问按钮是一回事。如果有任何其他方法可以做到这一点,请提及。

创建一个函数并编写与jbutton数量相同的Switch语句。将数字传递给函数并返回相应的第n个Jbutton对象。这是在所有特定情况下唯一可能的方法。java中没有其他方法。有一种叫做class.forname的东西可以用字符串创建类,但是它创建了一个对你没有用的新类。

不知道为什么你不能使用数组,但是如果这些是类字段,你可以使用反射。有一种非常讨厌的、有黑客味的方法,我不愿意分享,因为它确实是一种糟糕设计的演示。最好使用数组或
列表
(您可以保留当前的变量列表,并且仍然将它们添加到另一个数组/
列表
)在什么情况下9个唯一变量比数组好?@John3136我已经知道数组/列表是一个更好的选择。但情况就是这样,我不能回去为35个按钮做一个数组。我得到了代码并被要求扩展它的功能。我想如果我创建一个数组,我会破坏code@SuhailGupta:考虑到代码的可能质量,我的猜测是,如果你摆脱它,重新开始,每个人都会过得更好。第一次创建正确的代码要比调试和破解粗糙的代码容易得多,也更省时。@suhail,你最后实现了什么?