2012-04-12 64 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

相關問題