0

ここを読んで概念を理解していなかったため、ここに問題を投稿する必要がありました。Keyword から入力値を取得してJTextField、 my をフィルター処理しようとしていJTable table_jobます。 ここに画像の説明を入力

検索ボタンを押すと、Job Listパネル内のテーブルが変更され、テーブル内のいずれかの列にキーワードを含むジョブのセットのみが表示されます。現在、運が悪く、空白の画面が表示されます。

ジョブ一覧画面はこちら

ここに画像の説明を入力

右側の表は、キーワードに従って更新されません。

これが私が試して失敗したものです。テーブルフィルタリングは初めてです。

try {              
    jobTableInit(); 
    String value = keyword.getText();

    TableRowSorter sorter;
    sorter = new TableRowSorter<DefaultTableModel>(new DefaultTableModel());
    RowFilter<DefaultTableModel, Object> rowFilter = null;
    try {
       rowFilter = RowFilter.regexFilter(keyword.getText());
    }
    catch(java.util.regex.PatternSyntaxException ex) {
       return;
    }
    sorter.setRowFilter(rowFilter);
    table_job.setRowSorter(sorter);
 }            
 catch (Exception e) {
    JOptionPane.showMessageDialog(null, e);
 }                                

誰かが推奨事項を提案したり、簡単なコード例を見せてくれませんか?

4

1 に答える 1

2

デフォルトでは2つの方法があります

  1. カスタムComparatorを使用して、 XxxTableModelで検索(またはJTablesを使用して表示) します。Comparator の詳細については、並べ替えとフィルター処理についてPatternで説明していますJTables tutorial

  2. TableRowSorterでbuilt_in RowFilter を使用し、フィルタリングされた結果JTables viewが必要に応じて返されますList_of_Xxx

  3. 別のアイデアは、一致を強調することだけです

于 2013-01-12T12:52:14.447 に答える