package components; import javax.swing.*; import javax.swing.table.TableModel; import javax.swing.event.*; import java.awt.Dimension; import java.awt.event.*; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableRowSorter; import java.awt.*; import java.util.regex.PatternSyntaxException; import javax.swing.JButton; import javax.swing.table.DefaultTableModel; public class Tableur extends JPanel implements TableModelListener { public boolean filtering=false; public JLabel label = new JLabel("Filter"); public JButton buttonFilter = new JButton("Filter"); private Object[][] donnees; private String[] nomsColonnes; private JTable table; private TableModel tableur; private int[] vsize; private javax.swing.JLabel jLabel1; private javax.swing.JButton aj1,aj2; private TableModelPerso tt; private int ajoutsupp; private int posilig; private TableRowSorter sorter; public JFrame monCadre; public JTextField filterText = new JTextField("mp3",5); public Tableur(TableModelPerso vtablemodelperso,int vajoutsupp) { tt=vtablemodelperso; ajoutsupp=vajoutsupp; this.setLayout(new BorderLayout()); table = new JTable(vtablemodelperso); table.setColumnSelectionAllowed(true); table.setRowSelectionAllowed(true); table.setSelectionBackground(Color.BLUE); //table.setPreferredScrollableViewportSize(table.getPreferredSize()); table.setRowSelectionAllowed(true); table.setColumnSelectionAllowed(false); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); sorter = new TableRowSorter(tt); JPanel panel2 = new JPanel(); FlowLayout flow = new FlowLayout(); flow.setAlignment(FlowLayout.TRAILING); panel2.setLayout(flow); add(filterText, BorderLayout.CENTER); panel2.add(label); panel2.add(filterText); panel2.add(buttonFilter); JToolBar toolBar = new JToolBar(); toolBar.setFloatable(false); toolBar.add(new AbstractAction("Insertar linea") { public void actionPerformed(ActionEvent e) { sorter.setRowFilter(null); tt.addligne(); } }); toolBar.add( new AbstractAction("Borrar linea") { public void actionPerformed(ActionEvent e) { //sorter.setRowFilter(null); if (tt.getDonnees().length==0) { JOptionPane d = new JOptionPane(); d.showMessageDialog( d.getParent(),"No linea!","Error!",JOptionPane.ERROR_MESSAGE); return; } int test =0; //sorter.setRowFilter(null); //table.changeSelection(posilig,0,false,false); Integer idSup = new Integer(0); idSup = (Integer)table.getValueAt(table.getSelectedRow(),0); test = idSup.intValue(); // int nbColumn = tt.getColumnCount(); for (int k=0;k