JTableの12列に12個のフィルターがあります。各フィルターは、タイプJTextFieldのTextFieldです。ユーザーがテキストボックスフィルターにデータを入力するたびに、検索が行われます。
例: たとえば、フィルターとして3つの列とその上に3つのテキストボックスがあるとします。これで、テーブルフィルタリングのテキストボックスのいずれかに入力されたことが発生する必要があります。それは素晴らしいことです。
╔═════════════╦═════════════╦═════════════╗
║ [TextField] ║ [TextField] ║ [TextField] ║
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╠═════════════╬═════════════╬═════════════╣
... ... ...
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╚═════════════╩═════════════╩═════════════╝
各テキストフィールドのテキストフィールドリスナーは次のようになります。
textField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) { method(); }
public void removeUpdate(DocumentEvent e) { method(); }
public void insertUpdate(DocumentEvent e) { method(); }
};
私の質問は、12のテキストフィールドすべてに対してこのコードを繰り返していることですが、これは本当に満足のいくものではありませんでした。これが私たちの唯一の方法ですか?または誰かが私にもっと良い方法を提案できますか?