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

AWT/Swing Java Discussion :

sélectionner une ligne dans un tableau


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut sélectionner une ligne dans un tableau
    Bonjour,
    j'ai un composant rempli de lignes.
    j'aimerais à travers une action qu'une ligne soit sélectionnée.
    Je pense que le composant est un Jtable.
    Comment faire?


    merci

    dans la javadoc j'ai pas de fonction select() mais seulement selectAll().
    http://java.sun.com/j2se/1.4.2/docs/...ng/JTable.html

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu as deux méthodes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //surlignage de la ligne du tableau
    table.addRowSelectionInterval(indexLigne, indexLigne);
     
    //selection de la ligne du tableau
    table.changeSelection(indexLigne, 0, true, true);

  3. #3
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    merci !
    Maintenant si je veux faire plus compliqué et sélectionner la ligne non pas par son index que je ne connais pas d'avance mais en spécifiant le contenu d'un champ ?

    Exemple pour un nom et prénom égal à deux valeurs données.

    Tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LIGNE NOM PRENOM
    1        CHIRAC JACQUES
    2        SARKOZY NICOLAS
    merci.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Ben tu parcours tes données en testant l'égalité de tes valeurs, tu en déduis l'index de la ligne et tu mets à jour.

  5. #5
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    J'ai fait comme ceci.
    On pourrait optimiser en faisant une Map au load().

    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
    //On récupère le tableau de la liste des invités et on le balaie pour y placer le curseur
                    JTable table = mainDialog.getAddPersonDialog().getAddPersonDispoTable();
                    int row = table.getRowCount();
     
     
                    int i = 0;
                    int index = 0;
     
     
                    while(i <= row ){
                        String nom = (String)table.getValueAt(i,1); //nom
                        String prenom = (String)table.getValueAt(i,2); //prenom
                        if(nom.equals(mainDialog.perNom.getText()) && prenom.equals(mainDialog.perPrenom.getText())) {
                            index = i;
                            break;
                        }
                       i++;
                    }
     
                    if(index != 0) {
                            mainDialog.getAddPersonDialog().getAddPersonDispoTable().addRowSelectionInterval(index, index);
                            mainDialog.getAddPersonDialog().getAddPersonDispoTable().changeSelection(index, 0, true, true);
                    }

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

Discussions similaires

  1. [WD-2010] Sélectionner et déplacer une ligne dans un tableau
    Par iratihel dans le forum VBA Word
    Réponses: 11
    Dernier message: 18/03/2013, 15h36
  2. [HTML] Sélectionner une ligne dans un tableau en html
    Par jehlg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/06/2008, 11h55
  3. [DB2] Sélectionner une ligne dans une SP
    Par Fatah93 dans le forum DB2
    Réponses: 4
    Dernier message: 25/05/2005, 14h52
  4. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34
  5. Sélectionner une ligne dans une DBGrid
    Par RBIK dans le forum Bases de données
    Réponses: 13
    Dernier message: 01/07/2004, 17h13

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