我尝试对JTable标头进行分组,为此我想获得当前JTable的DefaultTableModel。但是当我试图像这样检索表模型时:
DefaultTableModel dm=(DefaultTableModel) tblTet.getModel();
它显示以下异常:
org.jdesktop.swingbinding.JTableBinding $ BindingTableModel不能 强制转换为javax.swing.table.DefaultTableModel
因为我使用的是JTableBeansBinding。
有谁知道如何解决这个问题(用于检索DefaultTableModel)?
答案 0 :(得分:3)
根据JavaDoc for BindingTableModel,该类不会扩展DefaultTableModel。相反,它实现了TableModel接口。这意味着您无法转换为DefaultTableModel,仅转换为TableModel:
TableModel dm=(TableModel) tblTet.getModel();
答案 1 :(得分:-3)
你必须像这样创建你的表:
String[] columnNames = {"Row",
"Category",
"From Date",
"From Time",
"To Date",
"To Time",
"Description",
"Doc"};
Object[][] data = {};//Table Rows
table.setModel(new DefaultTableModel(data,columnNames));
而不是:
table=new JTable(data,columnNames);
然后您可以将表模型转换为defaultTableModel。