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

Agents de placement/Fenêtres Java Discussion :

[Débutant] Travail sur jTabbedPane


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 584
    Par défaut [Débutant] Travail sur jTabbedPane
    Bonjour,

    Je suis en train de travailler sur un petit programme avec des onglets.

    Pour le moment lorsque le vais dans le menu en haut, je peux créer des onglets contenant des scroll contenant eux même des textearea. Cette portion fonctionne à merveille

    Par contre, j'essaie de comprendre pourquoi, quand je fais un clic droit sur un tab j'affiche deux fois la valeur de l'index au lieu d'un ?

    Voici mon code (uniquement celui de la création de l'onglet) :
    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
     
    /**
         * Si on appuie sur le bouton créer un onglet
         * @param evt
         */
        private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            JTextArea text = new JTextArea();
            JScrollPane scroll = new JScrollPane(text);
            String numIndexTab = Integer.toString(jTabbedPane1.getSelectedIndex() + 1);
            jTabbedPane1.addTab("Nouveau rapport " + numIndexTab, scroll);
     
            //Enregistrement de l'écouteur
            jTabbedPane1.addMouseListener(
     
                //Classe écoureur
                new java.awt.event.MouseAdapter() {
     
                    //Si c'est le JTabbedPane qui est à l'origine de l'appel
                    @Override
                    public void mouseClicked(MouseEvent evtM) {
     
                        //On regarde si c'est le clic droit
                        if(SwingUtilities.isRightMouseButton(evtM)) {
                            System.out.println(jTabbedPane1.getSelectedIndex());
                        }
                    }
                }
            );
        }
    Si quelqu'un pouvait me dire pourquoi à l'exécution j'obtiens ceci:
    run:
    0
    0
    0
    1
    1
    1
    2
    2
    2
    GÉNÉRATION TERMINÉE (durée totale* 12 secondes)
    Enfin un dernier point pour lequel je n'ai pas encore trouvé de réponse dans mes recherche, c'est quand je crée un nouvel onglet, j'aimerais que celuici se crée mais que l'on aille directement dessus (en focus comme on dit).

    En vous remerciant pour votre aide

  2. #2
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 584
    Par défaut
    Constatation faite, mon code retourne bien une valeur de l'onglet sur lequel je fais un clic droit.

    mais, il y a un mais... Je me retrouve avec un nombre de réponse copier du nombre d'onglet créer.

    J'ai comme l'impression que comme j'ai créer l'évènement à chaque nouvel onglet, on écoute le nombre de fois que je crée d'onglet. Donc j'ai dans l'idée de déplacer mon écouteur à un autre endroit mais comment.

    Il faut que je change la place du code suivant ailleurs afin de ne l'avoir qu'une fois pour tout le programme.
    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
     
     //Enregistrement de l'écouteur
            jTabbedPane1.addMouseListener(
     
                //Classe écoureur
                new java.awt.event.MouseAdapter() {
     
                    //Si c'est le JTabbedPane qui est à l'origine de l'appel
                    @Override
                    public void mouseClicked(MouseEvent evtM) {
     
                        //On regarde si c'est le clic droit
                        if(SwingUtilities.isRightMouseButton(evtM)) {
                            System.out.println(jTabbedPane1.getSelectedIndex());
                        }
                    }
                }
            );
    Merci

  3. #3
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    que celuici se crée mais que l'on aille directement dessus (en focus comme on dit).
    jTabbedPane1.setSelectedIndex(leDernier); ?

Discussions similaires

  1. [débutant] travail sur fichiers excel à partir de vb.net
    Par ozthewizard dans le forum ADO.NET
    Réponses: 0
    Dernier message: 19/09/2011, 11h25
  2. Réponses: 12
    Dernier message: 30/09/2008, 13h33
  3. Débutant travailler sur des images
    Par doud dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 15/08/2005, 15h47
  4. [débutant]travailler sur contenu string
    Par Serge76 dans le forum SL & STL
    Réponses: 13
    Dernier message: 06/11/2004, 16h43

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