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 :

Lien entre JSplitPane et JPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut Lien entre JSplitPane et JPanel
    Bonjour, voici mon problème,
    j'ai crée une Frame dans laquelle se trouve un JSplitPane qui lui même contient a gauche un panel Menu avec 4 boutons et a droite un JPanel.

    Je voudrais que lorsqu'on appuie sur l'un des 4 boutons le JPanel approprié soit affiché dans le JSplitPane à droite, une sorte de menu quoi.

    Mais je ne sais pas comment gerer les ActionListener des boutons.

    voici les classes qui interagissent :

    MainGui.java - Jframe -> JSplitPane
    |_
    gauche
    Menu.java - JPanel -> 4 JButtons

    droite (en fonction de la selection du bouton)
    panel1 - JPanel
    panel2 - JPanel
    panel3 - JPanel
    panel4 - JPanel

    Si vous avez besoins d'autres precissions je vais essayer d'eclaircir les choses mais je sais pas comment l'expliquer autrement.

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Il faut que tu utilises un CardLayout dans ton composant de droite. Et suivant le bouton sélectionné, tu passes en haut le composant correspondant.

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Tu dois implémenter une communication entre tes boutons de Menu et ta MainGui.
    Pour cela :
    - soit tu réfèrences un objet de type MainGui dans ta classe Menu et sur les ActionListener des boutons, tu appelles une méthode de MainGui qui prend en paramètre le numéro de panel à afficher, et qui affiche le panel correspondant
    - soit tu te crées ton propre listener qui avertit MainGui qu'un bouton a été pressé depuis ton panel Menu. (=> mécanisme d'abonnement et de désabonnement à gérer)

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par sozie9372
    Il faut que tu utilises un CardLayout dans ton composant de droite. Et suivant le bouton sélectionné, tu passes en haut le composant correspondant.
    Au lieu d'un CardLayout, il vaut mieux utiliser un JTabbedPane quand même...

  5. #5
    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
    Citation Envoyé par seiryujay
    Au lieu d'un CardLayout, il vaut mieux utiliser un JTabbedPane quand même...
    Tout dépend de l'esthétique que tu prévois pour ton appli, un cardlayout peut parfaitement se justifier...

  6. #6
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Avec un JtabbedPane, il n'aura plus besoin des boutons sur le panneau de droite

  7. #7
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par sinok
    Tout dépend de l'esthétique que tu prévois pour ton appli, un cardlayout peut parfaitement se justifier...
    Il me semblait que le CardLayout donnait le même résultat visuel qu'un JTabbedPane, sauf que les mécanismes de changement d'onglet n'étaient pas implémentés (contrairement au JTabbedPane).
    Mais je me trompe peut-être...

  8. #8
    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
    Tout dépend de ce que tu veux en faire, dans le cadre d'un wizard ça te permet de stocker tes panels pour les afficher à la bsuite, et pas franchement besoin d'onglets...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/05/2004, 16h11
  2. Lien entre les vues 'Structure' et l'éditeur
    Par Tifauv' dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 13/05/2004, 16h06
  3. lien entre les table de paradox
    Par salim_intic1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/05/2004, 16h00
  4. Réponses: 3
    Dernier message: 11/04/2004, 01h05
  5. [debutant][servlet]lien entre formulaire et servlet
    Par omega dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 05/03/2004, 08h54

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