2015-04-27 1 views
0
//combo box actionperformed method. 

private void CmbActionPerformed(java.awt.event.ActionEvent evt) {          
//created aray of objects 

    JTextField t[]=new JTextField[8]; 

    String num=null,s1; 
    int num1=0; 
    num=Cmb.getSelectedItem().toString(); 
    num1=Integer.parseInt(num); 
    //applied a logic to create same no. of textfields that selected in combo box. 

    while(num1!=0){ 
     for(int i=0;i<num1;i++) 
     { 
      t[i]=new JTextField(10); 
      jPanel2.add(t[i]); 
      b1.setText("the objects has created"); 
      jPanel2.revalidate(); 
      validate(); 
      num1--; 
     } 
    } 
} 
//actionperformed method of buuton b1. 
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 

    String a1; 
    a1=t1.getText(); 

    //getting error t1 not found; 
    //I think it is because t1 is local aray of comboactionperformedmethod and cant be accessed by this method. I need ur help to solve this. 

    b1.setText(s1); 
} 
+0

Опишите свою проблему и предоставьте [MVCE] (http://stackoverflow.com/help/mcve) –

ответ

1

Самый простой способ - объявить поля вашей текстовой области как переменные-члены класса, а не внутри метода. Другие методы внутри этого класса могут получить к ним доступ.

JTextField t[]=new JTextField[8]; 
//created aray of objects 

private void CmbActionPerformed(java.awt.event.ActionEvent evt) 
{ 

Тогда:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 

    String a1; 
    a1=t[0].getText(); 

Обратите также внимание на правильный путь для доступа к элементам массива.

+0

, что вы говорите, чтобы создать метод внутри метода? .. Можете ли вы объяснить мне, изменив мой код. –

+0

@AdityaSoni Вам нужно прочитать и ** понять ** точно, какие методы, классы, локальные переменные и переменные-члены. Как только вы поймете эти 4 вещи, решение будет очевидно. –

+0

yaa Я получил вашу точку ..i объявил массив textfield как член класса (вне метода), но затем t1.getText() получает пустую строку .. и T1.setText() показывает пустую строку в текстовом поле b1. –

Смежные вопросы

 Смежные вопросы