2012-04-12 103 views
1

现在我试着对jtable头进行分组,因此我想获得当前Jtable的DefaultTableModel。但是,当我试图检索表模式像...

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

它显示了一个异常喜欢...

org.jdesktop.swingbinding.JTableBinding $ BindingTableModel不能 投地的javax。 swing.table.DefaultTableModel

因为我使用JTableBeansBinding。

任何知道解决此问题的人(用于检索DefaultTableModel),并且如果可以的话它将会很有用。我仍然在努力。

在此先感谢。

回答

3

根据JavaDoc for BindingTableModel,该类不会扩展DefaultTableModel。相反,它实现了TableModel接口。这意味着你无法投射到的DefaultTableModel,只有TableModel的:

TableModel dm=(TableModel) tblTet.getModel(); 
-2

你必须创建你的表是这样的:的

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。

+0

通常,是的。但OP正在使用(更好)BeansBinding并且不能控制内部分配的TableModel的类型 – kleopatra 2013-02-08 08:28:01

相关问题