来自数组的JTextfield的setText

时间:2015-04-04 23:44:26

标签: for-loop jtextfield settext

这是代码     String [] textfield = new String [8];

int a=600;
    int b=100;
    for (int i=0; i<8; ++i) 
    {
        JTextField f = new JTextField(textfield[i]);
        f.setBounds(a, b, 120, 25);
        b+=30;

        panel.add(f);
        if (i==9) a=300; 
        if (i==9) b=10;

        // Why Not Save Action in loop

    }

现在,输入textfield后出现.setText(“”)[5] 我想看看:textfield [i] .setText(“Hello 5”);

2 个答案:

答案 0 :(得分:1)

因为代码textField[i]中的String不是JTextField

将其更改如下。

JTextField[] textfield = new JTextFeild[8];
int a=600;
    int b=100;
    for (int i=0; i<8; ++i) 
    {
        textField[i] = new JTextField();
        textField[i].setText("My Text");
        textField[i].setBounds(a, b, 120, 25);
        b+=30;

        panel.add(textField[i]);
        if (i==9) a=300; 
        if (i==9) b=10;

        // Why Not Save Action in loop

    }

要打印JTextField的文字,您应该使用JTextField.getText()方法。

print.addActionListener(new ActionListener() { 
    public void      actionPerformed(ActionEvent e) { //  
        System.out.println("Error");     
        ramSlot2.setSelectedIndex(5); 
        String txt =textfield[5].getText();     
        System.out.println(txt); 
}

答案 1 :(得分:0)

这样简单:(当i == 5时)

i = 5
textfield[i] = "Hello ";
String str = textfield[i] + i;
f.setText(str);

我认为您的textfield[i](当i == 5时)未启动