0

JTables同じ によって作成された2 つの異なるの表示に問題がありますAbstractTableModel。のコードを表示することはそれほど重要ではないと思いますが、AbstractTableModel求められれば表示することもあります。

AbstractTableModelテーブルの作成に使用している 2 つの配列リストに対して、これを拡張する同じクラスを 2 回呼び出すだけです。

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);

同じツールバーも作成しますが、これは無関係だと思います。そのため、コードを投稿しません。必要と思われる場合は投稿します。

問題は、最後に同じJTable2 回が表示されることです。そのため、クラスの呼び出し方法に関係があると思われます。

4

3 に答える 3

2

問題は不適切なstaticキーワードに起因します。

public static int [][] data;

staticその変数の値がすべてのインスタンスで同じになることを意味します。代わりに、あなたのdata中にあなたSwitchTableModelを入れて、それを作らないでくださいstatic。これにより、問題がすぐに解決されます。

何かのようなもの:

public class SwitchTableModel extends AbstractTableModel {
    private int[][] data;
    //... the rest of your current code.
}
于 2013-02-20T14:48:11.490 に答える
0

SwitchTableModel user_decide に渡された値と重複の両方が同じ値を持っていると思います。それ以外の場合、上記のコードに問題はありません。

于 2013-02-20T14:46:47.910 に答える
-1

パネルに2つの別々のスクロールペインを追加してから、JTableをスクロールペインに追加してみてください。それ以外の場合、表示の問題が正確に何であるか、JTableが表示されていないかどうか、またはデータに違いがないかどうかが明確ではありません... ect

于 2013-02-20T14:30:56.833 に答える