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 :

[JTabbedPane] Rajouter 2 boutons pour changer d'onglets


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut [JTabbedPane] Rajouter 2 boutons pour changer d'onglets
    Bonjour,

    J'utilise une JTabbedPand dans une IHM utilisant Swing.
    J'ai crée mes différents onglets et cela fonctionne très bien.

    J'aurais cependant aimé rajouter une possibilité à mes onglets : Pouvoir disposer de 2 boutons positionnés sur le même niveau que le nom des onglets mais alignés à droite de mon composant.

    Ces 2 boutons me permettant de passer d'un onglet à l'autre.

    La partie concernant la sélection des onglets via des boutons n'est pas compliquée en soit. Mon problème vient plutôt du fait de pouvoir positionner ces 2 boutons au même niveau que les onglets de mon composant.

    Quelqu'un aurait il une idée de la manière dont je peux procéder ?

    Merci d'avance de votre aide.

    Sylvain

    PS : Si mes explications ne sont pas assez claires (j'en ai bien peur lol), dites le moi je vous ferais un petit dessin de ce que j'aimerais obtenir.

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Je voudrais bien voir le petit dessin .
    Dis moi si je t'ai compris :
    Tu cherches à avoir 2 boutons pour passer d'un onglet à l'autre. Mais le truc que j'ai pas saisi c'est : est-ce que tu veux que ces boutons soit sur chaque onglet ou seulement à coté de tes onglets mais à la même hauteur que le nom des onglets (ouf.. sacré phrase )

  3. #3
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Pour mettre des composants dans les onglets, il faut utiliser TabComponent.
    Tu trouveras tout ce qu'il te faut sur le site de Sun. Il me semble avoir vu un tutoriel trainer sur le sujet sur dvp mais je ne l'ai plus retrouvé. Sinon, google est ton ami : il suffit de mettre 'Tab Component' pour trouver tout ce dont tu as besoin. Bonne chance.

  4. #4
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut
    J'ai mis le petit dessin en fichier attaché. Là ou il y a la zone en noir coupée en deux c'est là que j'aimerais mettre mes 2 boutons.

    En fait, j'aimerais pouvoir ajouter 2 boutons dans mon cas sur la même ligne que les onglets. Et c'est 2 boutons me permettront de contrôler le changement d'onglets.

    Avec TabComponent je peux mettre des objets dans les onglets mais c'est pas exactement ce que je veux faire là.

    Vous voyez mieux ce que je veux ?
    Images attachées Images attachées  

  5. #5
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut
    Personne n'a d'idées (c'est peut être pas possible aussi) ?
    ou c'est mon dessin qui est trop moche lol

  6. #6
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Non, ça va, ton dessin est parfait ^^ (tout a fait compréhensible)

    Par contre, comme ça, d'instinct, je te dirais de retourner sur le site de Sun (lien de Janitrix) pour voir comment mettre des Component dans un TabbedPane. Je m'explique :
    Tu crées tes deux boutons, tu les mets dans un TabbedPane et tu les mets à droite... Je sais pas si cette solution te conviendra, mais c'est déjà une première solution que tu peux implémenter faute de mieux

  7. #7
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut
    J'avais pensé à cette solution au pire des cas.

    Mais j'ai pas l'impression que l'on puisse isoler un onglet des autres et l'aligner seul à droite.

    J'ai bien vu dans la classe JTabbedPane une méthode pour spécifier le placement que je veux pour mes onglets mais il s'agit de la position de tous les onglets et non d'un seul onglet qui serait placé indépendamment des autres.

  8. #8
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 503
    Points
    503
    Par défaut
    Avec la méthode setTabLayoutPolicy (en lui passant l'argument JTabbedPane.SCROLL_TAB_LAYOUT) de la classe JTabbedPane on peut faire en sorte d'avoir les 2 boutons que je souhaite.

    Cependant, ils n'apparaissent que lorsque le nombre d'onglets dépasse la taille du conteneur de la JTabbedPane.

    Et le comportement n'est pas exactement celui que je souhaite puisqu'il permet juste de déplacer les différents onglets alors que j'aimerais pouvoir changer l'onglet courant avec ces boutons.

    Je vais continuer à chercher pour voir si on peut pas surcharger le comportement de ces boutons.

  9. #9
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    le plus simple dans ton cas est de redéfinir une TabbedPaneUI. En héritant de MetalTabbedPaneUI, tu peux surcharger les méthodes :
    - installComponents pour créer les deux boutons (pense à utiliser la classe BasicArrowButton, très pratique)
    - createLayoutManager pour changer de LayoutManager, mais là il te faudrait explorer le code source de MetalTabbedPaneUI.TabbedPaneLayout pour l'adapter à ton cas. Tu seras peut-être amené à surcharger d'autres méthodes de l'UI utilisées par le LayoutManager, comme calculateTabAreaWidth ou autres.

    C'est plus facile que ça en a l'air, ces classes ont été pensées pour être héritées. Mais ça demande un peu de travail.

Discussions similaires

  1. [XL-2007] Formule pour changer les onglets
    Par ngfi1 dans le forum Excel
    Réponses: 2
    Dernier message: 23/12/2013, 16h08
  2. [QtGui] Bouton pour changer de page dans un QTabWidget
    Par Enzymus dans le forum PyQt
    Réponses: 2
    Dernier message: 25/07/2011, 16h54
  3. [AC-2007] Bouton pour passer à l'onglet suivant
    Par Saori dans le forum IHM
    Réponses: 1
    Dernier message: 15/05/2009, 17h50
  4. [Excel] bouton pour changer de feuille
    Par frankyss dans le forum Excel
    Réponses: 3
    Dernier message: 21/02/2007, 22h28
  5. Code bouton pour sélection d'onglet
    Par tojiji dans le forum Access
    Réponses: 5
    Dernier message: 19/06/2006, 10h40

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