salve ragazzi, vi spiego, quando apro il mio programma mi appaiono a video tutti i dati nella JTable.
ho trovato in rete pezzo di codice che mi filtra i dati sulla JTable in base a cosa scrivo dentro il JTextField.
solo che questo filtro funziona un pò male, nel senso che se io ho nella mia prima colonna dei valori es.
ascia
palma
marsupio
tavolo
e scrivo nel campo JTextField la lettera "a" non mi trova le parole che iniziano per "a" ma mi ricompaiono tutte quelle che vedete sopra.
vi posto il codice:
codice:
filterTitolo = new JTextField();
//aggiungo gli ascoltatori
filterTitolo.getDocument().addDocumentListener(
new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
newFilterTitolo();
}
public void insertUpdate(DocumentEvent e) {
newFilterTitolo();
}
public void removeUpdate(DocumentEvent e) {
newFilterTitolo();
}
});
poi ci sta il metodo
codice:
private void newFilterTitolo() {
RowFilter<MyTableModel, Object> rf = null;
//If current expression doesn't parse, don't update.
try {
rf = RowFilter.regexFilter(filterTitolo.getText(), 0);//lo 0 indica la prima colonna
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}
avete voi qualcosa per fare quello che dico io? cioè per capirci che se cerco "bagaglio"
e scrivo nel campo di testo "ba", non mi deve comparire anche cabala..
ciao a tutti