java - 如何在数组中正确添加JTextField组件?

标签 java arrays swing jtextfield

我有一个包含不同组件(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/

相关文章:

java - while循环使小程序白屏且无响应

java - servlet 线程和 Connector 线程是否相同?

javascript - 两个数组,根据第一个数组的重复值对第二个数组进行分组并形成一个字符串

java - JDialog 的 Modality 设置为 Dialog.ModalityType.MODELESS : optionPane. getValue() 不再工作

java - JTextPane:KeyBindings 不适用于 StyledEditorKit

java - 获取 JTable 的 JScrollPane

java - 如何将整数数组转换为枚举数组?

c - 求数组平均值的函数

javascript - req.session.cart [object object] [object object] 如何在我的 sapper/svelte 应用程序中迭代和查看它

java if 语句不一致