2011-12-04 6 views
1

TableFilterDemoを使用して、NetBeansにRowFilterを作成しようとしていますが、できません。私はJCreatorcodeを試しました。私は助けが必要です。NetBeansでJTableのモデルの変数名は何ですか

class MyTableModel extends AbstractTableModelを作成する必要はありません。これは、NetBeans GUIツールでこれを手動で行ったためです。さて、私はRowSorterでモデルを定義する際に問題に直面しています。

MyTableModel model = new MyTableModel(); 
sorter = new TableRowSorter<MyTableModel>(model); 
table = new JTable(model); 
table.setRowSorter(sorter); 
table.setPreferredScrollableViewportSize(new Dimension(500, 70)); 
table.setFillsViewportHeight(true); 

上記は一例であり、私はこれに変更します。

private TableRowSorter<javax.swing.table.DefaultTableModel> sorter; 
/** Creates new form NewJFrame */ 
public NewJFrame() { 
    initComponents(); 
    javax.swing.table.DefaultTableModel model = new DefaultTableModel(); 
    sorter = new TableRowSorter<javax.swing.table.DefaultTableModel>(model); 
    JTable jTable = new JTable(model); 
    jTable.setRowSorter(sorter); 

それは正しいですか?私はこれを働かせることはできません。私はソーターがテーブルに追加されていないと思う。おそらくモデル部分を定義しているからでしょうか。アドバイスをお願いします。

答えて

0

抽象的なテーブルモデルを作成するのは自然なことではないと思います。
あなたはちょうど私があなたがGUIビルダーでのJTableを作成するはずdefaultModelを使用して、次のコード

voterTable.getColumnModel().getColumn(0).setPreferredWidth(65);

0

を使用しています。モデルをこのテーブルに追加して、新しいテーブルには追加しないでください。

でメソッドを置き換えます(initComponent()に追加されます)

public NewJFrame() { 
    javax.swing.table.DefaultTableModel model = new DefaultTableModel(); 
    sorter = new TableRowSorter<javax.swing.table.DefaultTableModel>(model); 
    initComponents(); 
} 

そして、GUIビルダーからのRowSorterを追加します。

  • をJTableの上で右をクリック - >プロパティ - >ペイン」コード "
  • カスタム作成コード書き込み - >new JTable(model);
  • 変数名には、次のように変数名([table_name]が表示されますポイント)
  • 投稿作成コード書き込み - >[table_name].setRowSorter(sorter);
関連する問題