从 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" 放入您要删除的行。
我用自己的模型制作了一个 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" 放入您要删除的行。