Grazie prima di tutto per le risposte, sempre cortesi e di altissimo livello.
Di seguito la soluzione che alla fine ho adottato:
Quindi per riassumere ho prima copiato l'intera tabelle e poi ho applicato i filtri a seconda della stringa selezionata.codice://Copio i dati da tabella frame1 alla tabella del frame 2 public void writeTable() { int B = 9; for (int row = 0; row <= main.getJTable().getRowCount() - 1; row++) { for (int col = 0; col <= main.getJTable().getColumnCount(); col++) { if (main.getJTable().getValueAt(row, 0) != null) { index = row; } String campo1 = (String) main.getJTable().getValueAt(index, 0); String campo2 = (String) main.getJTable().getValueAt(index, 1); String campo3 = (String) main.getJTable().getValueAt(index, 2); ecc. ecc table.setValueAt(campo1, index, 0); table.setValueAt(campo2, index, 1); table.setValueAt(campo3, index, 2); ecc. ecc .. } } } } //Dopdiché applico i filtri a piacimento sulla tabella 2 creando un metodo che richiamo alla pressione //di un pulsante seguente modo: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // A e B sono le stringhe catturate da due comboBox TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table.getModel()); table.setRowSorter(sorter); RowFilter<TableModel, Object> firstFilter = null; RowFilter<TableModel, Object> secondFilter = null; List<RowFilter<TableModel, Object>> filters = new ArrayList<RowFilter<TableModel, Object>>(); RowFilter<TableModel, Object> compoundRowFilter = null; try { firstFilter = RowFilter.regexFilter(A, 0); secondFilter = RowFilter.regexFilter(B, 1); filters.add(firstFilter); filters.add(secondFilter); compoundRowFilter = RowFilter.andFilter(filters); } catch (java.util.regex.PatternSyntaxException e) { return; } sorter.setRowFilter(compoundRowFilter); }
Secondo te la soluzione adottata, può essere considerata una buona soluzione?
Auguri per il nuovo anno e grazie ancora per tutto.

Rispondi quotando
