Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable Listener onChange_Java_Mysql_Swing - Fatal编程技术网

Java JTable Listener onChange

Java JTable Listener onChange,java,mysql,swing,Java,Mysql,Swing,我将数据放在MySQL服务器上,并使用以下代码将其加载到Jtable: try{ st= conn.createStatement(); st.executeQuery(q); ResultSet rs = st.executeQuery(q); borrowers_list.setModel(DbUtils.resultSetToTableModel(rs)); } catch(SQLException ex){ JOp

我将数据放在MySQL服务器上,并使用以下代码将其加载到Jtable:

try{
        st= conn.createStatement();
        st.executeQuery(q);
        ResultSet rs = st.executeQuery(q);
        borrowers_list.setModel(DbUtils.resultSetToTableModel(rs)); 
}
catch(SQLException ex){
    JOptionPane.showMessageDialog(null,ex);    
}
我的数据表有一个布尔值,我希望它在JTable中显示为复选框。我的代码可以工作,但表侦听器不能。我希望每次复选框发生更改时都有一个事件。我在下面使用了这个代码,但它不起作用

borrowers_list = new JTable(){
    @Override
    public Class getColumnClass(int column){
        for (int row = 0; row < getRowCount(); row++)
        {
            Object o = getValueAt(row, column);

            if (o != null)
            {
                return o.getClass();
            }
        }

        return Object.class;
    }
};

borrowers_list.getModel().addTableModelListener(new TableModelListener() {
    public void tableChanged(TableModelEvent e) {
        // EVENT HERE
    }
});
借款人名单=新的JTable(){ @凌驾 公共类getColumnClass(int列){ 对于(int row=0;row
如何修复它?

我建议验证您的
getColumnClass(int)
是否返回布尔值,并声明该值以缩小可能原因的范围。另外,如果你详细说明一下它不起作用(什么都不起作用?崩溃?冻结?抛出异常/哪一个?),这可能会有所帮助。在我给你这个问题的简单解决方案之前,当你在其他问题上通过点击复选标记获得帮助时,你应该开始“接受”答案了。例如,上面的代码看起来像是来自上一个问题: