我正在编写一个包含的程序JButton。每次单击该按钮时,都会将新JTextField的添加到中JPanel。
我的问题是,在用户创建所有JTextFields并用信息填充它们之后,我需要获取每个字段的文本。JTextFields当它们没有实例名称时,如何动态访问它们?有没有一种更好的方法来获取每个文本,而又不知道它们的实例名称。
这是…的actionPerformed事件代码JButton
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { JTextField x = new JTextField(); x.setColumns(12); p.add(x); validate(); }
您说您想从每个字段中获取文本。因此,当您创建新实例时x,为什么不保留它们的集合,例如将添加JTextFields到ArrayList呢?
另外,假设p是a JPanel,您应该能够获取所有孩子,这JTextFields就是您要添加的孩子。尝试getComponents()像这样…
Component[] children = p.getComponents(); for (int i=0;i<children.length;i++){ if (children[i] instanceof JTextField){ String text = ((JTextField)children[i]).getText(): } }