gpt4 book ai didi

java - jTable 复选框和删除行

转载 作者:行者123 更新时间:2023-11-29 03:59:46 26 4
gpt4 key购买 nike

我正在使用 jtable swing,我的 jtable 中有一个复选框,什么是仅删除已选中复选框的行的最佳方法?

我正在使用 defaultTableModel 和 removeRow,我需要知道如何获取勾选复选框的 TRUE 值。

最佳答案

当您将 JCheckBox 设置到单元格编辑器时,您可以将其值读取为 Boolean

class TableModel extends DefaultTableModel { 

public TableModel(Object[] headers) {
super(null, headers);
}

public Class getColumnClass(int c) {
switch (c) {
case 0: return Boolean.class;
default: return String.class;
}
}

public boolean isCellEditable(int row, int column) {
if (column == 0) return true;
return false;
}
}

TableModel tableModel = new TableModel(<headers as String []>);
JTable table = new JTable(tableModel);
....

TableColumnModel columnModel = table.getColumnModel();
// setting the first column to use checkboxes
columnModel.getColumn(0).setCellEditor(new DefaultCellEditor(new JCheckBox()));
...

int rowCount = tableModel.getRowCount();
for(int i=0; i<rowCount; i++) {
Boolean selected = (Boolean)tableModel.getValueAt(0, 0);
if(selected) {
tableModel.removeRow(0);
}
}

关于java - jTable 复选框和删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4277755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com