IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTable] tri données numériques négatives


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut [JTable] tri données numériques négatives
    Bonjour,

    Tout d'abord merci à toutes les personnes qui m'ont aider grace à la lecture de ce forum.

    Voila mon problème, j'ai créé un petit prog pour gérer un tournois de pétanque à la mêlée. Le prog fonctionne bien, mais je voulais en plus trier les données une fois le tournois terminé pour classer les participants.
    Or dans un tournois à la mèlée la personne qui gagne à un score positif celle qui pert à un score négatif; hélas, lorsque je tri via le tri standard, j'obtiens un tri en valeur absolue, exemple: 11,-11,10,-10 ...etc.

    j'ai utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     TableRowSorter<TableModel> sorter
            = new TableRowSorter<TableModel>(maTableS.getModel());
            maTableS.setRowSorter(sorter);
    j'avoue nager un peu avec le tri et les tables.

    Je me tourne donc vers les pros pour avoir une petite aide.

    Merci

    Bonne journée

    Phil

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le plus simple serait de faire un setComparator sur la colonne concernée, pour que le tablerowsorter l'utilise. Tu n'a plus qu'à implémenter tes propres règles dedans.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Salut,

    Merci pour la réponse, je vais essayer comprendre le mécanisme.

    @ +

    Phil

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Bonjour,

    J'ai consulter la doc et ai donc utilisé setcomparator; voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        private void bResultMouseClicked(java.awt.event.MouseEvent evt) {                                     
    //        // TODO add your handling code here:
     
            DefaultRowSorter<TableModel, Integer> sorter= new  TableRowSorter<TableModel>( maTableS.getModel());
            sorter.setComparator(2, new MyComparator());
            maTableS.setRowSorter(sorter);
        }                                    
     
        static class MyComparator implements Comparator<Integer>
        {
            public static final long serialVersionUID = 100L;
     
            public int compare(Integer i1, Integer i2)
            {
              int res;
              res= i1-i2;
              return res;
            }
        }
    J'ai mis un arrêt sur la ligne res= i1-i2; mais il semble que le prog ne passe jamais dans cette classe. Je ne vois pas ou est mon erreur.
    Pourriez-vous m'aider?

    Ma table contient un index col0, le nom col1, le résultat col2;

    Merci

    Phil

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Bonjour,

    J'ai réussi en modifiant mon code en m'inspirant de:

    /Après moult modif cela fonctionne!

    Merci à Alwin.

    @ +

    Phil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de données numériques dans une requête
    Par Aurèl90 dans le forum Access
    Réponses: 1
    Dernier message: 16/11/2005, 10h40
  2. [JTable] Récupérer données d'une cellule éditée
    Par lilou77 dans le forum Composants
    Réponses: 9
    Dernier message: 14/09/2005, 10h34
  3. [JTable] Tri des données
    Par soulhouf dans le forum Composants
    Réponses: 7
    Dernier message: 08/09/2005, 14h01
  4. [JTable] tri alphabétique
    Par clairette dans le forum Composants
    Réponses: 1
    Dernier message: 27/07/2005, 11h09
  5. [JTable] Tri des colonnes
    Par djskyz dans le forum Composants
    Réponses: 10
    Dernier message: 17/03/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo