如果我单击 Jtable 中的空第 8 列,我想激活一个按钮。但我得到了这个:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at records$1.valueChanged(records.java:57)
这是我的代码:
tb_records.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event) {
int row = tb_records.getSelectedRow();
DefaultTableModel model = (DefaultTableModel)tb_records.getModel();
String hehe = (String) model.getValueAt(row, 7);
if(!hehe.equals("")) {
b_extend.setEnabled(false);
}
else {
b_extend.setEnabled(true);
}
}
});
最佳答案
(不是答案,我会谈论简单的方法)
将
ListSelectionMode
更改为SINGLE_....
,则只能选择一行,否则必须在所选行的数组内循环
测试
if (row > -1)
==没有选择任何行,如果通过则可以为了获得更好的帮助,请尽快发布 SSCCE ,简短,可运行,可编译,具有 JTable 的硬编码值
关于java - 单击 JTable 中的一行时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20568098/