いくつかのフィルタを持つjtableが主要な部分を占めているデザイン(GUIデザイン)フォームについて、私はいくつかのドキュメントに案内したり、アドバイスをしたりできますか?主な目標は、視覚的な混乱を避けることです。JTable複数のフィルタ設計パラダイム
2
A
答えて
4
私は過去に単純なTableFilterPanel
を実装しました。これはテーブルの列に1つのJTextField
を持ち、与えられたフィールドにテキストが存在するときに正規表現マッチングを実行します。私は通常、これを垂直ラベル+テキストフィールドのリストとしてレイアウトします(つまり、かなりコンパクトです)。 JTextField
の内容を使用してRowFilter
を製造する能力を提供しています私のキークラスがColumnSearcher
と呼ばれ
、:私はそれぞれから「と」フィルタを構築するフィルタ設定を変更したい
protected class ColumnSearcher {
private final int[] columns;
private final JTextField textField;
public ColumnSearcher(int column, JTextField textField) {
this.columns = new int[1];
this.textField = textField;
this.columns[0] = column;
}
public JTextField getTextField() {
return textField;
}
public boolean isEmpty() {
String txt = textField.getText();
return txt == null || txt.trim().length() == 0;
}
/**
* @return Filter based on the associated text field's value, or null if the text does not compile to a valid
* Pattern, or the text field is empty/contains whitespace.
*/
public RowFilter<Object, Object> createFilter() {
RowFilter<Object, Object> ftr = null;
if (!isEmpty()) {
try {
ftr = new RegexFilter(Pattern.compile(textField.getText(), Pattern.CASE_INSENSITIVE), columns);
} catch(PatternSyntaxException ex) {
// Do nothing.
}
}
return ftr;
}
}
個々のフィルタ:
protected RowFilter<Object, Object> createRowFilter() {
RowFilter<Object, Object> ret;
java.util.List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(columnSearchers.length);
for (ColumnSearcher cs : columnSearchers) {
RowFilter<Object, Object> filter = cs.createFilter();
if (filter != null) {
filters.add(filter);
}
}
if (filters.isEmpty()) {
ret = NULL_FILTER;
} else {
ret = RowFilter.andFilter(filters);
}
return ret;
}
私は、フィルタを更新したPropertyChangeListenerがそれに応えて、私の集計フィルタを再構築させたいとき、一般的に、私はPropertyChangeEvent
を発射。次に、ユーザーがテキストフィールドのいずれかを入力すると(たとえばDocumentListener
を各JTextField
に追加することによって)、「rowFilter」PropertyChangeEvent
を起動することができます。
希望に役立ちます。
+0
Nice one Adamski – willcodejavaforfood
関連する問題
- 1. Java 1.5フィルタJTable
- 2. JTable複数インスタンス
- 3. オーディオ信号のフィルタ設計
- 4. 複数のユーザーデータベースの設計
- 5. 複数集計、複数フィルタ、単一テーブルSQL
- 6. JTableクラスと複数のテーブル
- 7. DBスキーマ設計 - 複数の多対多のテーブルの設計
- 8. RGoogleAnalytics:複数のフィルタ
- 9. MDX複数のフィルタ
- 10. ピボットフィールド複数のフィルタ
- 11. yii2複数のフィルタ
- 12. Scipyフィルタ設計からのSymPy有理関数の構築
- 13. solrのフィルタを設計する
- 14. 複数の測定のスキーマ設計
- 15. 複数の組織のシステム設計
- 16. フィルタ関数の述語を設計する
- 17. 複数の計算フィルタをMDXに追加
- 18. SQL Server複数のテーブル複数のフィルタ
- 19. SaaSデータベース設計 - 複数のデータベース?スプリット?
- 20. 複数のポータルによるメンバーシップ設計
- 21. 複数資産タイプのハイパージーガー設計
- 22. 設計REST URL複数の識別子
- 23. jtable netbeansでのフィルタと検索
- 24. フィルタ複数のフィルタを持つICollectionView
- 25. Verilogでフィルタ係数を保存するROMを設計する
- 26. Lucene.netの複数のフィルタ
- 27. フィルタ内の複数のロジック
- 28. jQueryの複数のフィルタ
- 29. 行フィルタの複数のパラメータ
- 30. anglejsの複数のフィルタ
データはどこから来ていますか?リレーショナルデータベース? – Allan
はい、DB ...私はguiの設計ガイドラインを探しています.... – tropikalista