2013-04-09 2 views
0

Я создал «frame1», который содержит кнопку, поэтому, если я нажму на эту кнопку, действие, выполняемое действием кнопки, проверяет, пуст ли LinkedList, if is, он установит " addEmployee ", который содержит вызовы radioButton addEmployees_Auto, и при нажатии на него будет вызываться метод« add_Auto »из frame1. Это должно заполнить связанныйList в frame1, но если бы я снова нажал на кнопку, LinkedList снова пуст. Зачем? не следует заполнять LinkedList?linkedList пуст, хотя элементы добавлены к нему

это "frame1"

public class Frame1 extends javax.swing.JFrame { 

    LinkedList <Employee>list2=new LinkedList <Employee>(); 
     .... 

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

    System.out.println("size="+list2.size()); 

    if(list2.isEmpty()) 
     new AddEmployees.setVisible(true); 
} 

public void addEmployees_Auto() 
    { 

     list2.add(new Employee(20910733,"Ahmed","Manager",2700)); 
     list2.add(new Employee(20910835,"Omar","Teaacher",2100)); 
     list2.add(new Employee(20910674,"Mohammed","Manager",3000)); 
     list2.add(new Employee(20910955,"Kareem","",2700)); 
     list2.add(new Employee(20910921,"Ameer","teacher",2500)); 

    } 
} 

AddEmployee рама:

public class AddEmployees extends javax.swing.JFrame { 
      ... 

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

    if(jRadioButton2.isSelected()){ 

     new Frame1().addEmployees_Auto(); 
     this.setVisible(false); 
    } 

}  
+0

Где мой метод 'add_Auto'? –

+0

это 'new AddEmployees.setVisible (true);' даже не компилировать ... Как вы можете запустить этот код? – jlordo

+0

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

ответ

0

Я думаю, что это происходит потому, что вы делаете:

new Frame1() 

каждый раз, когда в вашем AddEmployees классе, так каждый раз, когда создается новый связанный список, который всегда будет пустым. Вам нужно передать ссылку вызывающего экземпляру Frame1, такие как

new AddEmployees(this) 

из Frame1 класса, и добавить соответствующий конструктор для вашего AddEmployees класса, например,

public AddEmployees(JFrame parent) { ... } 
+0

Я не знаю, правильно ли я понял, но не работал. Но массив пуст после того, как я вызываю addEmployees_Auto(); –

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