gpt4 book ai didi

java - jtable 上的复选框并在 java swing 中获取相应行的值

转载 作者:行者123 更新时间:2023-11-29 06:10:49 25 4
gpt4 key购买 nike

我在 JTable 中添加复选框。我想获取所选 JCheckBox 行的特定单元格的值。添加复选框代码就像

JCheckBox checkBox = new javax.swing.JCheckBox();
jTable1 = new javax.swing.JTable();

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] { },
new String [] {
"Station", "OperationName", "TliScantime", "StartTime", "Completedtime", "TliScanTime-StartTime", "StartTime-CompletedTime", "Select"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Boolean.class
};

public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jTable1.getColumn("Select").setCellEditor(new DefaultCellEditor(checkBox));

在 netbeans 中。

我使用 addListSelectionListener 来点击 JTable 的 JCheckBox 的单元格。

 jTable1.getSelectionModel().addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(ListSelectionEvent event ) {
// if(jTable1.getValueAt(0,7).equals(true)){
Object b=jTable1.getValueAt(0,7);

System.out.println(b);
//}

}
});

我不明白为什么它第一次打印 null 之后它会打印 value 2 次。

最佳答案

无需创建和分配自定义编辑器。 JTable 将根据从 getColumnClass(,..) 方法返回的类返回适当的渲染器和编辑器。复选框自动用于 Boolean 数据。

ListSelectionListener 会触发两个事件,一个用于取消选择先前选择的行,一个用于选择当前行。

关于java - jtable 上的复选框并在 java swing 中获取相应行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931507/

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