Java 获取jtable中勾选复选框的行值
示例场景: 标题:类别、句子、布尔值 行1:apple |这是一个apple |复选框 Row2:cat |这是一个cat |复选框 当我在第一排打勾时。它将在System.out.println()中显示“苹果”和“这是一个苹果” 如果您有很多时间,如果有代码片段,我将不胜感激。谢谢。是一个可以让您开始学习的示例:Java 获取jtable中勾选复选框的行值,java,swing,checkbox,jtable,abstracttablemodel,Java,Swing,Checkbox,Jtable,Abstracttablemodel,示例场景: 标题:类别、句子、布尔值 行1:apple |这是一个apple |复选框 Row2:cat |这是一个cat |复选框 当我在第一排打勾时。它将在System.out.println()中显示“苹果”和“这是一个苹果” 如果您有很多时间,如果有代码片段,我将不胜感激。谢谢。是一个可以让您开始学习的示例: 如果getColumnClass()为列返回Boolean.class,则默认值为JCheckBox 对于AbstractTableModel,您的setValueAt()实现必
- 如果
为列返回getColumnClass()
,则默认值为Boolean.class
JCheckBox
- 对于
,您的AbstractTableModel
实现必须触发相应的事件,如图和所示setValueAt()
- 添加一个
以接收模型触发的事件,如图所示TableModelListener
选中复选框时,JTable get cehckbox value:-
class TableModel extends AbstractTableModel {
Object rowData[][] = DataAccess.getSentences();
String columnNames[] = {"Category", "Sentences", "Boolean"};
public int getColumnCount() {
return columnNames.length;
}
public String getColumnName(int column) {
return columnNames[column];
}
public int getRowCount() {
return rowData.length;
}
public Object getValueAt(int row, int column) {
return rowData[row][column];
}
public Class getColumnClass(int column) {
return (getValueAt(0, column).getClass());
}
public void setValueAt(Object value, int row, int column) {
rowData[row][column] = value;
}
public boolean isCellEditable(int row, int column) {
return (column >= 2);
}
}
table.getModel().addTableModelListener(新的TableModelListener()){
@凌驾
公共作废表已更改(TableModelEvent e){
对于(int i=0;i
table.getModel().addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
for(int i=0;i<table.getModel().getRowCount();i++)
{
if ((Boolean) table.getModel().getValueAt(i,0))
{
System.out.println(">\t"+table.getSelectedRow());
break;
}
}
}
});