[英]Java: Display two different JTables which are created from the same AbstractTableModel
我在顯示由同一AbstractTableModel
創建的兩個不同的JTables
遇到問題。 我真的不認為顯示AbstractTableModel
的代碼很重要,但是如果需要的話,我也可以提供它。
我只是兩次調用相同的類,該類將這個AbstractTableModel
擴展為用於創建表的兩個數組列表。
final SwitchTableModel model = new SwitchTableModel(user_decide);
final SwitchTableModel model1 = new SwitchTableModel(duplicates);
JTable table = new JTable(model);
JTable table1 = new JTable(model1);
JFrame frame = new JFrame ("Results");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel grid = new JPanel();
grid.add(toolbar);
grid.add(toolbar1);
grid.add(table);
grid.add(table1);
frame.add(grid);
frame.pack();
frame.setVisible(true);
我還創建了相同的工具欄,我也認為這是無關緊要的,這就是為什么我不發布代碼-如果您認為需要的話,我會這樣做。
問題在於,最后我會兩次看到相同的JTable
,所以我想它與我調用類的方式有關。
問題來自不適當的static
關鍵字。
public static int [][] data;
static
表示該變量的值在所有實例中都相同。 相反,將data
放入SwitchTableModel
,不要使其SwitchTableModel
static
。 這將立即解決您的問題。
就像是:
public class SwitchTableModel extends AbstractTableModel {
private int[][] data;
//... the rest of your current code.
}
我認為傳遞給SwitchTableModel user_decide的值和重復項都具有相同的值。 否則,上面的代碼中沒有問題。
嘗試將兩個單獨的滾動窗格添加到面板,然后將JTables添加到滾動窗格。 除此之外,您不清楚確切的顯示問題是什么,還是未顯示JTables,或者數據是否相同...等等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.