'da birden çok metin alanına tek bir belge dinleyicisi olması mümkün Bir JTable üzerinde 12 sütun için 12 filtrem var. Her filtre, JTextField türünde bir TextField'dır. Bir kullanıcı, metin kutusu filtresindeki verileri her girdiğinde arama gerçekleşir.Swing
Örnek: Farz edelim ki, bunların üzerinde 3 sütun ve 3 metin kutusu var. Şimdi, herhangi bir metin kutusuna yazılan herhangi bir şey benim tablo filtreleme yapmak zorunda. Harika oluyor. metin alanının her biri için
╔═════════════╦═════════════╦═════════════╗
║ [TextField] ║ [TextField] ║ [TextField] ║
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╠═════════════╬═════════════╬═════════════╣
... ... ...
╠═════════════╬═════════════╬═════════════╣
║ ║ ║ ║
╚═════════════╩═════════════╩═════════════╝
Metin alanı dinleyici
textField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) { method(); }
public void removeUpdate(DocumentEvent e) { method(); }
public void insertUpdate(DocumentEvent e) { method(); }
};
Sorum Ben gerçekten mutlu değildi 12 metin alanları için bu kodu tekrarlıyorum olduğunu, buna benzer. Bu sahip olduğumuz tek yol mu? ya da birileri bana daha iyi bir yol önerebilir mi?
+ 1 .. bir örnek için this tutorial bakınız önler .. Bir işe yaradı. Artık bir kod fazlalığı yok .. Çok teşekkürler .. :) – Amarnath
Bunu yine de anonim bir sınıfla yapabilirsiniz: 'DocumentListener listener = new DocumentListener() {...}; (JTextField textfield: fields) için {textField.getDocument(). addDocumentListener (listener); } ' –
@WalterLaan, – Robin