2012-06-14 1 views
2

Est-il possible d'empêcher le tri tous ensemble sur le JTable? Fondamentalement, je ne veux pas que quelque chose se passe lorsque l'utilisateur clique sur l'en-tête de la table, et que le contenu soit dans un ordre statique.JTable empêche tout tri

Répondre

4

Voir the Javadoc:

setRowSorter public void (trieuse RowSorter)

Paramètres: sorter - le RowSorter; null tours de tri hors

2

Fondamentalement, je ne veux pas qu'il arrive quelque chose lorsque l'utilisateur clique sur l'en-tête de table, et pour que le contenu soit dans un ordre statique. sur une table

essentiellement JTable ont pas Sorter, vous devez supprimer

lignes de code
- JTable#setAutoCreateRowSorter(true); 

- table.setRowSorter(sorter); 

- custom Comparator added as MouseEvent to the JTableHeader 

ont à regarder et lire JTable tutorial about Sorting and Filtering

0

La meilleure et simple façon de désactiver le tri lorsque l'utilisateur clique colonnes d'en-tête:

  1. d'abord vous devez créer un clic de souris sur l'en-tête du tableau
  2. à l'intérieur de celui-ci ne font que clic gauche de la souris avaible (avec SwingUtilities)
  3. insérer cette ligne de code

    yourTableVariable.setRowSorter (null);

Exemple pratique:

yourTableVariable.getTableHeader().addMouseListener(new MouseAdapter() //here you make the click avaible ONLY on Table Header 
    { 
     @Override 
     public void mouseClicked(MouseEvent arg0) 
     { 
      if (SwingUtilities.isLeftMouseButton(arg0)) //here you select the mouse left click action 
      { 
       yourTableVariable.setRowSorter(null); //here is disableing the sorting     
      } 
     } 
    });