簡體   English   中英

JTable不刪除行

[英]JTable does not remove row

我需要從JTable刪除行。 我寫了這樣的代碼:

DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
int x = 0;
int row = dtm.getRowCount();

while(row>=x){

    dtm.removeRow(x);
    x++;

}

但這會產生錯誤,例如:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 
  24 >= 24

一個更簡單的解決方案是使用:

dtm.setRowCount(0);

這也更加有效,因為在刪除所有行之后,該表僅需要自我重繪一次。

您可以嘗試以下方法:

while(row>x){
    dtm.removeRow(x);
    x++;
}

更新

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

    model.addColumn("Col1"); 
    model.addColumn("Col2"); 
    model.addRow(new Object[]{"1", "2"});
    model.addRow(new Object[]{"1", "2"});

    table.setModel(model);

    for(int index = 0; index<table.getRowCount();)
    {
        model.removeRow(index);
    }

安裝Java后,操作更加簡單。 對不起,答案錯誤。

暫無
暫無

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

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