Chr*_*tis 0 java dynamic instance jpanel jtextfield
我正在写一个包含a的程序JButton.每次单击该按钮时,JTextField都会向a添加一个新按钮JPanel.
我的问题是,在用户创建了所有内容JTextFields并用信息填充后,我需要获取每个字段的文本.我怎样才能访问JTextFields它们动态生成的时间,因为它们没有实例名称?有没有更好的方法来获取每个文本,而不知道他们的实例名称.
这是...... actionPerformed事件的代码JButton
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
JTextField x = new JTextField();
x.setColumns(12);
p.add(x);
validate();
}
Run Code Online (Sandbox Code Playgroud)
你说你想从每个字段中获取文本.因此,当您创建新实例时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():
}
}
Run Code Online (Sandbox Code Playgroud)