簡體   English   中英

Java:顯示從同一AbstractTableModel創建的兩個不同的JTable

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM