я хочу обновить JList, когда я нажимаю кнопку в другом JFrame.
Итак, у меня есть JFrame GuiBoss, который управляет сотрудниками (добавляет, удаляет, обновляет). Когда я нажимаю кнопку «Добавить», открывается другой Jframe, в котором я создаю нового сотрудника.
//Открываем "add_form", где я даю информацию о новом сотруднике.
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
GuiBoss gb = new GuiBoss(contrb,boss);
Add_form af = new Add_form(gb,contrb,boss);
af.setVisible(true);
}
//обновляем список добавленным новым сотрудником.
public void refresh(Employee e){
System.out.println("I reach this point!");
//if i print e.getName() it works, printing the right name that i give in the "add_form"
listModel.addElement(e);
//listModel.clear(); //don't work either.
}
Моя проблема в том, что, когда я отправляю сведения о новом сотруднике, я вызываю функцию обновления (Employee e) из фрейма GuiBoss, на консоли появляется сообщение («Я достиг этой точки!»), Размер listModel изменяется , но список не обновляется. Также я должен сказать, что я правильно установил модель для списка.
//берем данные из формы и вызываем Refresh(Employee e) из основного фрейма("GuiBoss")
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
//String Id = txtID.getText();
String UserName = txtName.getText();
txtHour.setVisible(false);
boolean b = false;
if(rbtnYes.isSelected() == true){
b = true;
}
if(rbtnNo.isSelected() == true){
b = false;
}
if(rbtnYes.isSelected()==false && rbtnNo.isSelected() == false){
System.out.println("Select the presence!");
}
else{
txtOra.setVisible(true);
String Hour = txtHour.getText();
e = new Employee(UserName,b,Hour,boss); //boss i get from main frame when i start this add new employee form
contrb.addEmployee(e);
gb.refresh(e); //gb is of type GuiBoss were i have the function that does
// the refresh
}
}
Пожалуйста, дайте мне знать, если у вас есть идеи. Спасибо.