获取 jtextfield 的有序值

get ordered value of jtextfield

的帮助下,我可以从动态添加的 jTextFields.

中获取文本

现在我有 jPanel1 和 Netbeans 生成的 jTextField1

jTextField1 = new javax.swing.JTextField();
jPanel1.add(jTextField1);
jPanel1.setLayout(new org.jdesktop.swingx.VerticalLayout());

同样通过 AddButton 添加动态 jTextFieldsjPanel1:

jPanel1.add(new subPanel());
pack();

我遇到的问题是当我按下 SaveButton 时,我没有得到有序的输出文本。

for (Component spChild : spChildren) {
       if (spChild instanceof JTextField) {
             String text = ((JTextField)spChild).getText();
             System.out.println(jTextField1.getText()); //I think this code is wrong
             System.out.println(text);

例如,如果值为:

jTextField1: 1,

动态 JTextFields: 2, 3.

输出重复 jTextField1:

1

2

1

3

期望的输出是:

1

2

3

我不知道如何避免这个问题。

你是对的,你需要从你的循环中删除 jTextField1 并将它打印在循环之上,然后循环遍历动态文本框。

// Move jTextField1 to print before your print the dynamic JTextBoxes
System.out.println(jTextField1.getText()); 
for (Component spChild : spChildren) {
       if (spChild instanceof JTextField) {
             String text = ((JTextField)spChild).getText();
             System.out.println(text);