在使用JTable時,根據按下的按鈕加載不同的數據。JTable與2個不同的數據
問題是:當加載其中一個數據時,如果我嘗試加載另一個數據,並將鼠標懸停在標題或單元格上,它將使用來自第一個輸入的數據更新標題/單元格,如果所選標題/單元格中有數據。
關於如何解決它的任何想法?這就是我正在使用的代碼。
private static void setCompromissosTable(Object[][] data, Object[] header){
try{
compromissosTable.removeAll();
} catch(Exception e){
e.printStackTrace();
}
compromissosTable = new JTable(data, header);
compromissosTable.setRowSelectionAllowed(true);
// Make the entire row selectable, but not editable
int columnMax = compromissosTable.getColumnCount();
for(int column = 0; column < columnMax; column++){
Class<?> col_class = compromissosTable.getColumnClass(column);
compromissosTable.setDefaultEditor(col_class, null);
}
scrollPane = new JScrollPane(compromissosTable);
pane.add(scrollPane);
scrollPane.setBounds(btnAddCompromisso.getX(),
btnAddCompromisso.getHeight() + btnAddCompromisso.getY() + 5
, frame1.getWidth() - 20
, frame1.getHeight() - 20);
compromissosTable.revalidate();
compromissosTable.repaint();
compromissosTable.addMouseListener(new MouseAdapter() {}
//Change mouse behavior.
);
}
我首先想到的是不產生或修改'JTable'本身,只是簡單地將模型切換出來 – MadProgrammer
您似乎是在使用'null'佈局,這可能意味着,基於您的示例,您只是簡單地將新表格重疊在舊錶格的頂部,這就是爲什麼你可能正在畫故障。相反,避免'null'佈局,不要每次都創建一個新的'JTable',而只需用新模型更新現有的'JTable' – MadProgrammer