1

我试图对 JTable 标头进行分组,为此我想获取当前 JTable 的 DefaultTableModel。但是当我尝试像这样检索表模型时:

DefaultTableModel dm=(DefaultTableModel) tblTet.getModel();

它显示以下异常:

org.jdesktop.swingbinding.JTableBinding$BindingTableModel 无法转换为 javax.swing.table.DefaultTableModel

因为我使用的是 JTableBeansBinding。

有谁知道如何解决这个问题(用于检索 DefaultTableModel)?

4

2 回答 2

3

根据BindingTableModel 的 JavaDoc,该类不扩展 DefaultTableModel。相反,它实现了 TableModel 接口。这意味着您不能转换为 DefaultTableModel,只能转换为 TableModel:

TableModel dm=(TableModel) tblTet.getModel();
于 2012-04-12T21:19:33.813 回答
-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。

于 2013-02-08T05:39:33.113 回答