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 :

Swing SORT JTable et ArrayList en synchro


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    ABCD
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : ABCD

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut Swing SORT JTable et ArrayList en synchro
    Bonjour j'aurais une petit question svp
    Dans le cadre d'un petit projet je dois afficher une Jtable contenant plusieurs colones,
    La table est allimentée par une ArrayList d'objet (chaque membre de l'objet est une colone)
    je dois pouvoir trier La Jtable mais l'arraylist doit aussi être triée en même temps
    ainsi quand je choisis une ligne dans la Jtable ça sera la même ligne dans l'arraylist car je dois pouvoir passer cette ligne la à un autre programme par webservice plus tard.


    Expl:

    protected List<VSREVTPSOut> data = new ArrayList<VSREVTPSOut>();
    ...
    Je rajoute des informations dans la liste


    ensuite j'affiche la Jtable
    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
    20
    21
    22
    23
    24
    VehicleEventsTableModel model = new VehicleEventsTableModel(data);
     
    protected JTable table = null;
    TableRowSorter<VehicleEventsTableModel> sorter = new TableRowSorter<VehicleEventsTableModel>(model);
                            table.setModel(model);
                            table.setRowSorter(sorter);
                            model.customizeColumns(table);
                            table.addMouseListener(new MouseAdapter(){
                                @Override
                                public void mouseClicked(MouseEvent e){
                                    if (e.getClickCount() == 2){
                                        Point p = e.getPoint();
                                        int row = table.rowAtPoint(p);
                                        int col = table.convertColumnIndexToModel(table.columnAtPoint(p));
                                        if (row >= 0 && col >= 0) {
     
                                            System.out.println("double click on table row="+ row + "col=" + col );
                                            VSREVTPSOut selectedrow = vSREVTPSOut.get(row);
                                            System.out.println("Selectedrow:"+ selectedrow.getTEVENTXO());
     
                                        }
                                    }
                                }
                             } );
    Donc avec ce que j'ai pour le moment
    je peux trier la jtable sur chaque colonne dans l'ordre croissant et décroissant
    mais la liste reste la même et ainsi la variable selectedrow n'est plus forcément la même ligne que celle que j'ai choisir après avoir trié une colone.
    J'aimerais que le tri entre la Jtable et la liste soit synchro?
    pourriez vous m'aider svp?
    je vous en remercie grandement à l'avance. :-).

  2. #2
    Membre averti
    Profil pro
    ABCD
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : ABCD

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut
    J'ai trouvé la solution
    au cas ou ça intéresse quelqu'un
    créer une Liste par expl une arraylist
    consrtuire un modèle qui étend AbstractTableModel
    créer un comparateur qui implémente l'interface comparator pour les colonnes
    créer un listerner header qui étend la classe MouseAdapter

    et le tour est joué
    j'ai une table qui peut être trié
    et l'array list est aussi triée par la même occasion
    si quelqu'un veut plus d'info suffira de demander :-)

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/10/2008, 11h19
  2. Sort d'une arraylist
    Par harris_macken dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 17/03/2008, 15h57
  3. JTable avec ArrayList
    Par stounouslous dans le forum Composants
    Réponses: 3
    Dernier message: 02/02/2007, 15h11
  4. JTable et ArrayList comme données
    Par maminova77 dans le forum Composants
    Réponses: 5
    Dernier message: 09/08/2006, 20h34
  5. [SWING][JTabbedPane][JTable] background color
    Par PoPeio dans le forum Composants
    Réponses: 1
    Dernier message: 21/03/2006, 19h24

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