JTableに行を追加する方法は?


94

に新しい行を追加する方法を知っていjTableますか?

回答:


171

TableModelすべてのテーブルの背後にあるデータのJTableのハンドルの背後にあります。テーブルに行を追加したり削除したりするには、DefaultTableModel

このモデルでテーブルを作成するには:

JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));

行を追加するには:

DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});

このメソッドで行を削除することもできます。

DefaultTableModelの詳細については、こちらをご覧ください。


2
+1これは良い答えです。ただし、DefaultTableModelは多くのモデルの1つにすぎないことに注意してください。ただし、それが最も使いやすく、別の方法を使用する必要がない限り、それを使用することをお勧めします。
chessofnerd 2014年

2
最初のコード行でテーブルを作成すると、「コンストラクターDefaultTableModel(Object [])が未定義です」というエラーが表示されます
ThisClark

4
@ThisClark:そのDefaultTableModelをコンストラクタのために、あなたも同じように、をrowCountを追加する必要がありますJTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}, 20));
Plenus Franckly

57

使用する:

DefaultTableModel model = new DefaultTableModel(); 
JTable table = new JTable(model); 

// Create a couple of columns 
model.addColumn("Col1"); 
model.addColumn("Col2"); 

// Append a row 
model.addRow(new Object[]{"v1", "v2"});

12

をに追加するにはJTable、次のいずれかの方法です。

1)DefaultTableModelを使用してテーブルを作成します。

        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("Code");
        model.addColumn("Name");
        model.addColumn("Quantity");
        model.addColumn("Unit Price");
        model.addColumn("Price");
        JTable table = new JTable(model);

2)行を追加するには:

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});

9

使用する

    DefaultTableModel model = (DefaultTableModel) MyJTable.getModel();

    Vector row = new Vector();
    row.add("Enter data to column 1");
    row.add("Enter data to column 2");
    row.add("Enter data to column 3");
    model.addRow(row);

モデルを入手する DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

でベクターを作成する Vector vectorName = new Vector();

row.addできるだけ多くを追加します

すぐに追加する modelName.addRow(Vector name);


2

完全を期すために、まずaddRow関数が使用できるように正しいインポートがあることを確認します。

import javax.swing.table.*;

jTableがすでに作成されていると想定して、必要なパラメーターを受け入れる独自の行追加メソッドを作成して作成できます。

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.