我有一个包含不同组件(JLabel、JButton、JTextComponent 等)的面板。我想以这种方式获取 JTextField 列表:
ArrayList<JTextField> arrayTf = new ArrayList();
Component[] arrayComponent = this.getComponents();
for (Component c : arrayComponent )
{
if (c instanceof JTextField ) {
arrayTf.add(c);
}
}
但我不确定这是正确的方法。请告诉我这是正确的方法吗?或者有更简单的方法吗?谢谢你。
最佳答案
您的代码是最简单的方法。
但是,如果您想变得更奇特,那么您可以使用 Darryl 的 Swing Utils 。基本代码是:
List<JTextField> components = SwingUtils.getDescendantsOfType(JTextField.class, this, false);
这个类的好处是它是可重用的。因此,您可以轻松地在一行中获取所有 JButton,而无需编写更多代码。此外,此代码允许您获取指定面板或面板和所有嵌套面板上的组件。还有一些其他功能。
关于java - 如何在数组中正确添加JTextField组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038343/