从 JTable 中删除行

removing row from JTable

我用自己的模型制作了一个 table,因此单元格不是 editable

String[] colNames = {"Barcode","Name","Exp Date"};
    String[][] rowInfo = new String[mainSuper.getProductVector().size()][3];
    Iterator<Product> itr=mainSuper.getProductVector().iterator();
    int i=0;
    Product temp;
    while(itr.hasNext()){
        temp= itr.next();
        rowInfo[i][0]=temp.getBarcode();
        rowInfo[i][1]=temp.getName();
        if (temp.getExpDate()==null) {
            rowInfo[i][2]="None";
        }else{
        rowInfo[i][2]=temp.getExpDate().toString();
        }
        i++;
    }
    prodTable=new JTable(rowInfo, colNames){
        private static final long serialVersionUID = 1L;

        public boolean isCellEditable(int row, int column) {                
                return false;               
        }
    };

我正在尝试创建一个按钮来删除 table 中的选定行(只能选择一行),但我无法使其正常工作。我尝试了网站上的一些解决方案,但其中 none 有效。感谢您的帮助。

您可以像这样从 JTable 中删除一行:

((DefaultTableModel)yourJTable.getModel()).removeRow(rowindex);

而不是 "rowindex" 放入您要删除的行。