Filtrage des tables à l’aide des expressions régulières

Author:

Filtrage JTable Image

{filelink=903}

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.RowFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class FiltrageTableReg {
  public static void main(String args[]) {
    JFrame frame = new JFrame("Filtrage Table avec Regex");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Object lignes[][] = {
		{ "Bernard A.", "Dir. Tech", 2500.00 },
		{ "Alber. Sin", "Dir. Financier", 2300.00 },
		{ "Steven Cat", "Chef Projet Info", 2500.00},
        { "Nicolas Lambert", "Resp. tech", 25000 }
        };
    String colonnes[] = { "Nom", "Fonction", "Salaires" };
    TableModel model = new DefaultTableModel(lignes, colonnes) {
      public Class getColumnClass(int column) {
        Class returnValue;
        if ((column > 0) && (column < getColumnCount())) {
          returnValue = getValueAt(0, column).getClass();
        } else {
          returnValue = Object.class;
        }
        return returnValue;
      }
    };

    final JTable table = new JTable(model);
    final TableRowSorter sorter = new TableRowSorter(model);
    table.setRowSorter(sorter);
    JScrollPane pane = new JScrollPane(table);
    frame.add(pane, BorderLayout.CENTER);

    JPanel panel = new JPanel(new BorderLayout());
    JLabel label = new JLabel("Filtrage");
    panel.add(label, BorderLayout.WEST);
    final JTextField filterText = new JTextField("A");
    panel.add(filterText, BorderLayout.CENTER);
    frame.add(panel, BorderLayout.NORTH);
    JButton button = new JButton("Filtrer");
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String text = filterText.getText();
        if (text.length() == 0) {
          sorter.setRowFilter(null);
        } else {
          sorter.setRowFilter(RowFilter.regexFilter(text));
        }
      }
    });
    frame.add(button, BorderLayout.SOUTH);
    frame.setSize(250, 200);
    frame.setVisible(true);
  }

}

A Voir sur le même Sujet:

  • comment ajouter jtextfield a la rectangle en java
  • java jtable setrowfilter
  • rowfilter calendar
  • table des expressions régulières en C# wikipédia
  • remplacer lettre alphabet par -1 access 2010
  • filtre javascript ignorer la casse
  • java regexfilter taille de numerique
  • java jtable tri lettre alphabétique
  • java filtrer les caractères de contrôle
  • calendar jtable

Leave a Reply

Your email address will not be published. Required fields are marked *