JTable'da satır nasıl eklenir?


95

A'ya nasıl yeni bir satır ekleyebileceğimi biliyor musunuz jTable?

Yanıtlar:


172

TableModelTüm masanın arkasında verilerin JTable tutamaklar arkasında. Bir tablodan satır eklemek ve çıkarmak için, birDefaultTableModel

Bu model ile tablo oluşturmak için:

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

Bir satır eklemek için:

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

Bu yöntemle satırları da kaldırabilirsiniz.

DefaultTableModel ile ilgili tüm ayrıntılar burada bulunabilir


2
+1 Bu iyi bir cevaptır; ancak, DefaultTableModel'in birçok modelden yalnızca biri olduğunu unutmayın. Bununla birlikte, kullanımı en kolay olanıdır ve başka bir tane kullanmanız gerekmedikçe ona bağlı kalmanızı tavsiye ederim.
chessofnerd

2
İlk kod satırınızla tabloyu oluştururken, "The constructor DefaultTableModel (Object []) undefined" hatası alıyorum
ThisClark

4
@ThisClark: Bu DefaultTableModel kurucusu için ayrıca rowCount eklemeniz gerekir, örneğin:JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}, 20));
Plenus Franckly

57

Kullanım:

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

Eklemek için satır için JTableyollarından biridir:

1) DefaultTableModel kullanarak tablo oluşturun:

        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) Satır eklemek için:

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

9

Kullanım

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

modeli ile al DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

İle bir Vektör Oluşturun Vector vectorName = new Vector();

row.addcomumns kadar çok ekleyin

yakında ekle sadece ekle modelName.addRow(Vector name);


1

Tamlık adına, önce doğru içe aktarmaya sahip olduğunuzdan emin olun, böylece addRowişlevi kullanabilirsiniz :

import javax.swing.table.*;

JTable'ınızın zaten oluşturulmuş olduğunu varsayarak, ihtiyacınız olan parametreleri kabul edecek kendi satır ekleme yönteminizi oluşturabilir ve devam edebilirsiniz:

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.