Java - Filtrar jtable sin base de datos

 
Vista:

Filtrar jtable sin base de datos

Publicado por Joaquin (2 intervenciones) el 26/02/2018 12:46:07
Lo que quisiera es que cuando la columna dias el numero fuera igual o superior a 3 el jtable se filtre y elimine lo que es menor. Por mas vueltas que le doy no consigo sacarlo.
Aqui os dejo lo que tengo.
Gracias


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
private void LeerArchivo() {
    File archivo = null;
    FileReader fr = null;
    BufferedReader br = null;
    try {
        archivo = new File("FicheroDelListado.txt");
        fr = new FileReader(archivo);
        br = new BufferedReader(fr);
        String linea = "";
 
        DefaultTableModel model_tabla = new DefaultTableModel();
        model_tabla.addColumn("Código");
        model_tabla.addColumn("Nombre");
        model_tabla.addColumn("Dias");
 
        while ((linea = br.readLine()) != null) {
 
            if (linea.indexOf("2") != -1) {
 
                String[] campos = linea.split("\\n+");
 
                for (int i = 0; i < campos.length; i++) {
                    System.out.println(campos[i]);
 
                    jTable1.setModel(model_tabla);
                    String[] rowfields = linea.split("\t+");
                    model_tabla.addRow(rowfields);
                    linea = br.readLine();
 
                }
            }
 
        }
 
    } catch (IOException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Filtrar jtable sin base de datos

Publicado por Joaquin (2 intervenciones) el 27/02/2018 10:06:51
He añadido el siguiente codigo:

1
2
3
4
5
6
7
8
9
private void Filtro() {
    String valor = jLabel1.getText();
    int fse = jTable1.getRowCount();
    fse -= 1;
    TableRowSorter trsFiltro = new TableRowSorter(jTable1.getModel());
    jTable1.setRowSorter(trsFiltro);
    trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)" + valor, 2));
 
}

Con eso he conseguido filtrar la tabla, pero el problema es que solo coge el valor del jLabel. A mi me interesa que filtre ese valor y mas, es decir, que filtre todo lo que la columna tenga un valor de 3 o mas, no solo el 3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar