Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

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

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:

  • rowfilter calendar
  • filtre javascript ignorer la casse
  • java jtable tri lettre alphabétique
  • filtrer
  • comment personnaliser la recherche dans jtable par sorter regex
  • expression regulieres jtextfield
  • java regexfilter taille de numerique
  • calendar jtable
  • remplacer lettre alphabet par -1 access 2010
  • java jtable setrowfilter