2012-04-12 15 views
1

jtableヘッダーをグループ化しようとしましたが、現在のJtableのDefaultTableModelを取得します。私は...それはのような例外を示し

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

...のようなテーブルモデルを取得しようとしたときには

org.jdesktop.swingbinding.JTableBinding $ BindingTableModel

はjavaxのに キャストすることはできません。 swingTable.DefaultTableModel

私はJTableBeansBindingを使用しているためです。

(DefaultTableModelを取得するために)この問題を解決することを知っている人なら誰でも可能です。私はまだ試しています。

ありがとうございます。

答えて

3

JavaDoc for BindingTableModelによれば、クラスはDefaultTableModelを拡張しません。むしろ、それはTableModelインタフェースを実装します。これは、あなただけのTableModelに、のDefaultTableModelにキャストすることができないことを意味します

String[] columnNames = {"Row", 
      "Category", 
      "From Date", 
      "From Time", 
      "To Date", 
      "To Time", 
      "Description", 
      "Doc"}; 
    Object[][] data = {};//Table Rows 

    table.setModel(new DefaultTableModel(data,columnNames)); 

の代わり:

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

あなたは、このようなあなたのテーブルを作成する必要が

table=new JTable(data,columnNames); 

、あなたはキャストすることができますあなたのテーブルモデルをdefaultTableModelに変換します。

+0

通常、はい。しかし、OPは(より良い)BeansBindingを使用しており、内部的に割り当てられたTableModelのタイプ – kleopatra

関連する問題