得到jtextfield的有序值

时间:2015-04-22 15:30:00

标签: java swing io jtextfield

Oliver Schmidt的帮助下,我可以通过动态添加jTextFields来获取文字。

现在我有jPanel1与Netbeans生成的jTextField1

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

同时AddButton将动态jTextFields添加到jPanel1

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

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

1 个答案:

答案 0 :(得分:0)

你是对的,你需要从你的循环中删除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);