java - 单击 JTable 中的一行时出现 NullPointerException

标签 java swing jtable listselectionlistener

如果我单击 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);
                }
            }
        });

最佳答案

(不是答案,我会谈论简单的方法)

  1. ListSelectionMode更改为SINGLE_....,则只能选择一行,否则必须在所选行的数组内循环

  2. 测试if (row > -1) ==没有选择任何行,如果通过则可以

  3. 为了获得更好的帮助,请尽快发布 SSCCE ,简短,可运行,可编译,具有 JTable 的硬编码值

关于java - 单击 JTable 中的一行时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20568098/

相关文章:

java - 查明浏览器是否支持服务器端的cookie

java - 如何从具有通用条件的通用 HashMap 中获取 ArrayList

java - JTable 从 cellrenderer 的角度复制值

Java:提供所选列的摘要统计信息的代码示例

java - 对多个 JPanel 使用 CardLayout 并且不显示任何内容

java - 将 Webdriver 作为实例传递

Java JTabbedPane 插入颜色

java - 在 JLabel 上的 gif 和 png 之间切换

java - 将 Jpanel 添加到 Jframe NetBeans

java - JTextArea 作为单元格渲染器似乎不适用于换行样式字