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 :

[debutant] est-il possible de trier une Jtable ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut [debutant] est-il possible de trier une Jtable ?
    bonjour,

    la grosse question est dans le titre.
    Après l'affichage de la Jtable, est-il possible de modifier son contenu en le triant selon un critère de colonne ?
    (en gardant bien sur la cohérence des lignes )

    merci

  2. #2
    Membre éprouvé Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Par défaut
    Oui et je m'arrache les cheuveux depuis pas mal de temps pour comprendre comment.

    Cela concerne ton AbstractTableModel si j'ai bien compris....


    Edit : viens voir sur ce topic, ca part pour etre très interessant

  3. #3
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Si vous voulez il y a ce lien qui est pas mal mais j'ai pas essaye. Vous me direz si ca marche :
    http://www.supinfo-projects.com/en/2.../2/Default.asp

  4. #4
    Membre éprouvé Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Par défaut
    En effet, lorsque c'est expliqué de facon claire dans un francais correct (l'anglais ca va 5 minutes, mais pour comprendre certains pb ....) c'est tout de suite plus facile

    Merci beaucoup.


    Pendant que tu es la, j'ai un petit probleme en plus avec mes JTable que je n'arrive pas a résoudre.
    Les colonnes d'une JTable sont gérées par ColumnModel et ceci est censé permettre de ne pas tenir compte de la position d'une colonne pour retrouver une valeur si j'ai bien compris.

    Mais voila mon probleme, soit chez moi cela ne fonctionne pas, soit je n'utilise pas la bonne methode pour retourner une colonne.
    J'utilise par exemple le code suivant (je tronque expres) :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    //Initialisation du tableau
     
    String[] columnNames = {"Nom du gène" ,"Symbole"};
    String[][] list = new String[0][2];
    if (interFace.dbQuery.getConnectionState() == true){
    	list = interFace.dbQuery.getGenesList();
    }
     
    DefaultTableModel model = new DefaultTableModel(list, columnNames){
    	private static final long serialVersionUID = 1L;
     
    	//Rend les lignes et les colonnes non-editable
    	public boolean isCellEditable(int iRowIndex, int iColumnIndex){
    		return false;
    	}
     
    };
     
    geneTable = new JTable(model);
    geneTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     
    MouseListener mouseListener = new MouseAdapter() {
    	public void mouseClicked(MouseEvent e) {
    		 int selection = geneTable.rowAtPoint(e.getPoint());
    		 geneTable.setRowSelectionInterval(selection, selection);
     
    		  if (e.getButton() == 3){
    System.out.println(geneTable.getValueAt(geneTable.getSelectedRow(),((AbstractTableModel)geneTable.getModel()).findColumn("Symbole")));
    		     }
            }
    };
    geneTable.addMouseListener(mouseListener);
    La ou je rencontre un probleme est dans le MouseListener que je fais (pour tester que je retourne la bonne valeur).
    En effet il me semblais avoir compris que la methode findColumn("Symbole") devait me retourné le bon index pour cette colonne, quels que furent leur modifications....

    Et ce n'est pas la cas.

    Donc voila mes questions :
    *peut-on rendre ces colonnes inamovibles (setColumnSelectionAllowed() ne fonctionne pas chez moi)
    *est-ce que je me gourre quelque part ? (ce qui est vraissembable)


    Navré pour cette problematique un peu longue, mais je ne trouve pas de solution, simple ou non.

  5. #5
    Membre éprouvé Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Par défaut
    En fait j'ai trouvé ma reponse en ecrivant mon message
    Je ne pointé tout simplement pas sur le bon tableau.

    Il fallait rajouter : geneTable.getModel().getValueAt


    Navré pour le derangement

  6. #6
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Pas grave. Au moins tu as vu ton erreur.
    Oubli pas si tu as fini !!

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Va voir ce lien qui pointe vers la javadoc de la JTable.
    Il y a un exemple de tri.

    http://java.sun.com/docs/books/tutor...e.html#sorting

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 24/01/2007, 12h54
  2. Est-il possible d'exécuter une fonction à partir de fichier
    Par magic8392 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 16/09/2005, 13h59
  3. [debutant]Est-ce possible un tel resultat de requete???
    Par kenzo080 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/07/2005, 02h50
  4. Est-il possible de sélectionner une valeur d'un menu déroula
    Par pontus21 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/05/2005, 09h44
  5. Réponses: 3
    Dernier message: 29/07/2003, 09h38

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