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 trie du contenu


Sujet :

Composants Java

  1. #1
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut JTable trie du contenu
    bonjour,

    (excusez moi pour les accents, je suis sur un clavier qwerty qui ne les a pas...)

    je debute en swing et c'est complique pour moi, donc excusez moi si ma question vous parait un peu bete.

    j'ai une JTable qui est remplie a l'aide d'une base de donnees.
    il faut que lorsque l'utilisateur click sur le titre d'une colonne ca permette de trier le contenu selon celle ci.
    j'ai mis un mouselistener sur le header de la JTable, mais je n'arrive pas a trouver comment savoir sur quelle colonne l'utilisateur a clicke.
    j'ai besoin de le savoir car ma JTable n'affiche qu'une partie du contenu de la table de la BDD et le tri doit etre effectue sur l'ensemble du contenu et non pas seulement sur ce qui est affiche.

    si il vous faut plus d'info n'hesitez pas.
    j'espere avoir ete assez claire dans mes explications.

    merci d'avance
    Naya

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Bonjour,

    Quand tu clique sur le titre de la colone, si celle-ci se trouve sélectionnée, tu doit pouvoir récupérer l'index de la colone par la méthode

    getSelectedColumn();

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    getSelectedColumn()

  4. #4
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    taTable.getselectedColumn() ne marche pas?

  5. #5
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    pour aller plus loin:
    taTable.getColumnName(taTable.getSelectedColumn())
    te permettra de recuper le nom de ta colonne

  6. #6
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    ca ne fonctionne pas :
    taTable.getColumnName(taTable.getSelectedColumn()) ne me donne rien
    et
    taTable.getSelectedColumn() me donne -1

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    -1 est la valeur de retour quand rien n'est selectionnée
    tu dois ajouter un listener à ta table et quand l'evenement est decleché là tu recupère la valeur

  8. #8
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    tu peux nous montrer ton code stp?

  9. #9
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    je lance l'appli, je clic sur une colonne et le System.out me renvoie juste -1.

    le JTree repond bien quand je selectionne une ligne (ca m'affiche des trucs ailleurs).

    est ce que j'ai oublie quelque chose pour qu'il selectionne une colonne quand je clic sur le header ?

  10. #10
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    ouai un peut code aiderait pour t'aider

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Si tu utilises java 6 c'est natif: http://java.sun.com/docs/books/tutor...e.html#sorting

    Sinon tu as le TableSorter qui un modèle qui englobe ton propre modèle pour ajouter la fonctionnalité de tri

    Ou la JXtable du projet SwingX qui intègre en natif le filtrage et le triage

  12. #12
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    bien sur

    dc voila la ou je cree le jtable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    messageListTable = new MessageListTable();
    messageListTable.addMouseListener(new MouseAdapter() {
    	public void mouseClicked(MouseEvent evt) { MessageListTableMouseClicked(evt);}
    	public void mouseReleased(MouseEvent e) { MessageListTableMouseClicked(e);}
    					});
     
    JTableHeader header = messageListTable.getTableHeader();
    header.setUpdateTableInRealTime(true);
    header.addMouseListener(new MouseAdapter() {
    	public void mouseClicked(MouseEvent evt) { HeaderMessageListTableMouseClicked(evt);}
    	public void mouseReleased(MouseEvent e) { HeaderMessageListTableMouseClicked(e);}
    					});
    et je rempli la table a l'aide de :
    DefaultTableModel tableModel = new DefaultTableModel(tableContent, tableTittles);
    this.setModel(tableModel);

  13. #13
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    je ne dois pas juste trier sur ce qui est affiche (les 100 1ers elements par exemple) mais sur l'ensemble du contenu de la table dans la BDD
    c'est pour ca que j'ai ecarte le tablesorter

    est ce une erreur ?

  14. #14
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    tu peut aussi trier directement la sortie de la base de donnée à l'aide
    d'un orderby nomColonne non ?

  15. #15
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    si j'ai bien compris tu as un tableau qui t'affiche la sortie d'une requete sur un BD
    et tu aimerais que lorsque l'utilisateur clique sur l'entete tu puisse recuperer l'entete selectionnée pour relancer une requete SQL c'est ça?

  16. #16
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    au depart, je veux que ca soit trier dans l'ordre de la BDD, mais si l'utilisateur veut un tri selon la colonne 2 (user) ou selon la colonne 5 (msg_text) par exemple, il faut que ce soit possible dynamiquement.

    on est habitue a clicker sur le titre d'une colonne pour trier le contenu et c'est ce que me demande mon superviseur.

    (je suis vraiment tres embetee car je n'ai pas le net chez moi et la personne qui me ramene me presse pour partir. je me connecterai demain matin pour apporter d'autres explications si necessaires)

  17. #17
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    Citation Envoyé par sylviadesbois
    si j'ai bien compris tu as un tableau qui t'affiche la sortie d'une requete sur un BD
    et tu aimerais que lorsque l'utilisateur clique sur l'entete tu puisse recuperer l'entete selectionnée pour relancer une requete SQL c'est ça?

    oui c'est ca

  18. #18
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    Si tu n'affiche pas toute les lignes dans la Jtables alors quand tu veut retrier la table tu est obligé de refaire ta requête pour inserer le donnée dans la Jtable
    par ex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select col1, col2...coln
    from taTable
    order by colSelectionnée;

  19. #19
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    est qu'est ce qu'il y a dans ta méthode:

    HeaderMessageListTableMouseClicked(evt)?

Discussions similaires

  1. [JTable] Filtrage du contenu de la table
    Par RouRa22 dans le forum Composants
    Réponses: 3
    Dernier message: 18/09/2008, 16h00
  2. [JTable] Incrémenter le contenu d'une cellule
    Par amateurc dans le forum Composants
    Réponses: 2
    Dernier message: 05/08/2008, 17h41
  3. [SWING] Jtable changement du contenu d'une cellule
    Par tchoukapi dans le forum Composants
    Réponses: 5
    Dernier message: 07/11/2007, 04h03
  4. [JTable] Changer le contenu d'une seule cellule
    Par terminagroo dans le forum Composants
    Réponses: 7
    Dernier message: 05/07/2005, 14h50
  5. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 14h24

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