我看到了一些非常相似的帖子,但没有找到重点。
我在想这样的事情:
Object[][] test = {
{"Name", new JTextField()},
{"Gender", new JComboBox()}
}
我试过这样的东西,但我不能使用 JTextField 或 JComboBox 的方法。如何根据那里的 1-index 实例化它?这可能吗?
我看到了一些非常相似的帖子,但没有找到重点。
我在想这样的事情:
Object[][] test = {
{"Name", new JTextField()},
{"Gender", new JComboBox()}
}
我试过这样的东西,但我不能使用 JTextField 或 JComboBox 的方法。如何根据那里的 1-index 实例化它?这可能吗?
如果你确定它是什么,你拿出来就可以施放,像这样
JComboBox box = (JComboBox)(test[1][1]);
box.whatever();
Object[][]
但是,为什么不使用 ,而不是只创建一个类?
class UIWidgets {
JTextField name;
JComboBox gender;
}
您需要先进行强制转换,然后才能访问特定于该类型的方法,因为 Java 将它们都视为以下实例Object
:
((JTextField)test[0][1]).CallMethodHere();
或者:
JTextField tf = (JTextField)test[0][1];
// do something with tf
尝试这个:
((JTextField) test[0][1]).setText("someText");