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 に答える