Java JTable在JFrames之间切换后不更新
我在2个Java JTable在JFrames之间切换后不更新,java,swing,jframe,jtable,Java,Swing,Jframe,Jtable,我在2个JFrame窗口之间切换,但切换时我试图在您切换时更新JTable,因为一个框架用于添加员工,另一个框架用于显示员工表。因此,在添加employee并返回原始框架后,它应该会更新表。问题是更新表的方法没有运行 以下是包含表格的框架的代码: public class employeeUI extends javax.swing.JFrame { ArrayList<employeeClass> employeeList = new ArrayList<employeeC
JFrame
窗口之间切换,但切换时我试图在您切换时更新JTable
,因为一个框架用于添加员工,另一个框架用于显示员工表。因此,在添加employee并返回原始框架后,它应该会更新表。问题是更新表的方法没有运行
以下是包含表格的框架的代码:
public class employeeUI extends javax.swing.JFrame {
ArrayList<employeeClass> employeeList = new ArrayList<employeeClass>();
/**
* Creates new form employeeUI
*/
public employeeUI() {
initComponents();
readfromFile();
populateTable();
getContentPane().setBackground(new Color(23, 76, 79));
}
public void populateTable() {
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
Object rowData[] = new Object[7];
for (int i = 0; i < employeeList.size(); i++) {
rowData[0] = employeeList.get(i).employeeID;
rowData[1] = employeeList.get(i).employeeName;
rowData[2] = employeeList.get(i).employeeEmail;
rowData[3] = employeeList.get(i).employeeAddress;
rowData[4] = employeeList.get(i).employeeTitle;
rowData[5] = "$" + employeeList.get(i).employeeSalary;
rowData[6] = employeeList.get(i).employeeHire;
model.addRow(rowData);
}
}
公共类employeeUI扩展了javax.swing.JFrame{
ArrayList employeeList=新建ArrayList();
/**
*创建新表单employeeUI
*/
公共雇员{
初始化组件();
readfromFile();
populateTable();
getContentPane().setBackground(新颜色(23,76,79));
}
public void populateTable(){
DefaultTableModel=(DefaultTableModel)jTable1.getModel();
对象rowData[]=新对象[7];
对于(int i=0;i
下面是一个演示问题的视频:您在此处发布的代码没有提示问题的原因。请创建一个jFrame,以便我们也可以重现您的问题并提供解决方案。
因为一个jFrame用于添加员工,另一个用于显示员工表。
-您应该只有一个jFrame。添加员工的第二个窗口应该是模态JDialog。一个简单的解决方案是将DefaultTableModel传递给子对话框。当您输入员工信息并单击“保存”按钮时,您使用addRow(…)方法添加新员工信息。注意,不需要employeeList ArrayList。eEmployees的数据将存储在TableModel中。不需要将数据放在两个位置。