2015-04-04 69 views
1

這裏是代碼 String [] textfield = new String [8];現在setText for JTextfield from array

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 

    } 

,.setText( 「」)不輸入文本框後出現[5] 我想看到:文本框[I] .setText( 「你好5」);

+0

查看我答案的最後部分。 – 2015-04-05 17:22:02

回答

0

容易爲:(當我== 5)

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

我認爲你textfield[i](當我== 5)不是因爲你的代碼發起

+0

它不是在打印時的工作: – Wesam 2015-04-05 14:01:43

+0

print.addActionListener(新的ActionListener(){ 公共無效的actionPerformed(ActionEvent的五){ // 的System.out.println( 「錯誤」); ramSlot2.setSelectedIndex(5 ); String txt = textfield [5]; System.out.println(txt); } – Wesam 2015-04-05 14:02:15

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); 
}