当我按下另一个 JFrame 中的按钮时,我想刷新一个 JList。
所以我有一个管理员工(添加、删除、更新)的 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.
}
我的问题是,当我提交有关新员工的详细信息时,我从 GuiBoss 框架调用函数 refresh(Employee e),消息(“我到达这一点!”)显示在控制台上,listModel 的大小发生变化,但它不会刷新列表。另外我必须说我为列表正确设置了模型。
//从表单中获取数据并从主框架(“GuiBoss”)调用refresh(Employee e)
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
}
}
如果您有任何想法,请告诉我。谢谢。