簡體   English   中英

jTable添加多行

[英]jTable add multiple row

我正在嘗試向JTable添加多行。 我有jTable1 ,並希望一些結果添加到jTable2 這是我的代碼:

DefaultTableModel model = new DefaultTableModel();
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
    model.addColumn("id");
    model.addColumn("miestas");
    model.addColumn("adresas");
    model.addColumn("pavadinimas");
    model.addColumn("kaina");
    model.addColumn("kiekis");
    model.addColumn("data");
    int i=jTable1.getSelectedRow();
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    jXDatePicker1.setFormats(dateFormat);
    String date = dateFormat.format(jXDatePicker1.getDate()).toString();
    String c1=jTable1.getValueAt(i, 0).toString();
    String c2=jTable1.getValueAt(i, 1).toString();
    String c3=jTable1.getValueAt(i, 2).toString();
    String c4=jTable1.getValueAt(i, 3).toString();
    String c5=price.getText().toString();
    String c6=jTextField1.getText().toString();
    String c7=date;
    model.addRow(new Object[]{c1, c2, c3, c4, c5, c6, c7});
    jTable2.setModel(model);
}

第一行會很好地添加,但是當我添加第二行時,它也會在右側添加空白列,而我嘗試添加的模式行會在側面添加7個空白列。

圖片

那是因為您一直在向模型添加列

model.addColumn("id");
model.addColumn("miestas");
model.addColumn("adresas");
model.addColumn("pavadinimas");
model.addColumn("kaina");
model.addColumn("kiekis");
model.addColumn("data");

每次調用該方法時重復

你可以這樣做

public class ClassName {

    String[] columns = {"ID", "miestas", "adresas", "pavadinimas", "kaina", "kiekis", "data"};

    DefaultTableModel model;

    public ClassName() {

        model = new DefaultTableModel(columns, 0); //sets columns and number of rows once
    }

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
        int i = jTable1.getSelectedRow();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        jXDatePicker1.setFormats(dateFormat);
        String date = dateFormat.format(jXDatePicker1.getDate()).toString();
        String c1 = jTable1.getValueAt(i, 0).toString();
        String c2 = jTable1.getValueAt(i, 1).toString();
        String c3 = jTable1.getValueAt(i, 2).toString();
        String c4 = jTable1.getValueAt(i, 3).toString();
        String c5 = price.getText().toString();
        String c6 = jTextField1.getText().toString();
        String c7 = date;
        model.addRow(new Object[]{c1, c2, c3, c4, c5, c6, c7});
        jTable2.setModel(model);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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