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:
poi ci sta il metodocodice: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(); } });
avete voi qualcosa per fare quello che dico io? cioè per capirci che se cerco "bagaglio"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); }
e scrivo nel campo di testo "ba", non mi deve comparire anche cabala..
ciao a tutti
![]()

Rispondi quotando