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

Interfaces Graphiques en Java Discussion :

Partage d'une zone d'affichage, quelle stratégie ?


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Par défaut Partage d'une zone d'affichage, quelle stratégie ?
    Bonjour à tous !

    Je suis en train de coder une application dont la fenêtre est divisée en deux parties.
    A gauche j'ai un menu vertical composé de boutons. Ce menu est de largeur fixe et prend toute la place en hauteur.
    A droite j'ai une zone d'affichage qui prend toute la place restante en largeur et en hauteur.

    Concrètement, un clic sur un bouton déclenchera l'affichage d'un JPanel différent dans la zone de droite et c'est là que j'ai un souci.
    Déjà dans un premier temps, quelle est la meilleure façon de procéder ?

    Créer et mettre tous les JPanels correspondants aux menus de gauche dans un JLayeredPane ou une "technologie" du genre (CardLayout ?) ou bien ne disposer que d'un JPanel à droite qu'on réinstancierait à chaque clic sur un bouton avec un de mes JPanel perso ?

    Pour l'instant j'ai opté pour la seconde solution qui me parait la moins satisfaisante(l'interface est moins réactive du fait de la réinstanciation à chaque clic).

    Pas satisfaisante non plus parce que rien ne s'affiche quand je clique sur un bouton
    Est-ce que quelque chose vous choque dans ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    btSocietes.addActionListener(new ActionListener() {
    	public void actionPerformed(ActionEvent evt) {
    		CompanyPanel cp = new CompanyPanel();
    		displayed.removeAll();
    		displayed.add(cp);
    	}
    });
    CompanyPanel c'est le panel que je souhaite afficher dans displayed qui est un JPanel classique (avec un Flowlayout).

    Je vous remercie d'avance pour votre aide

  2. #2
    Membre Expert
    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
    Par défaut
    Tu peux utiliser un BorderLayout avec ton menu à gauche et au centre mettre un CardLayout pour afficher tes différents JPanel.

  3. #3
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Tu peux utiliser un BorderLayout avec ton menu à gauche et au centre mettre un CardLayout pour afficher tes différents JPanel.
    Je viens d'essayer ta façon de procéder et ça fonctionne assez bien. Néanmoins, le JPanel affiché par le CardLayout est centré dans son conteneur. Est-ce qu'il y a une façon de l'aligner à gauche ?

    Est-ce que tu sais si un évènement est envoyé au JPanel lorsqu'il est affiché/dé-affiché par le CardLayout ?

  4. #4
    Membre Expert
    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
    Par défaut
    Il suffit à nouveau de mettre un Layout dans le panel de ton CardLayout, par exemple un BorderLayout.
    Ben disons que c'est toi, par l'intermédiaire d'une méthode du CardLayout, qui change de Panel, donc je ne vois pas pourquoi tu as besoin d'un événement.
    Je n'ai peut-être pas bien compris ta question.

  5. #5
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Il suffit à nouveau de mettre un Layout dans le panel de ton CardLayout, par exemple un BorderLayout.
    Ben disons que c'est toi, par l'intermédiaire d'une méthode du CardLayout, qui change de Panel, donc je ne vois pas pourquoi tu as besoin d'un événement.
    Je n'ai peut-être pas bien compris ta question.
    Si tu as bien compris, c'est moi qui réfléchis mal
    Ca fonctionne bien maintenant avec ce que tu m'as dis.

    Merci beaucoup

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

Discussions similaires

  1. Création d'une zone d'affichage avec OGRE
    Par Bilbax dans le forum Qt
    Réponses: 12
    Dernier message: 28/02/2009, 16h01
  2. DIRECTX9: limitation d'une zone d'affichage
    Par eomer212 dans le forum DirectX
    Réponses: 4
    Dernier message: 09/04/2008, 14h28
  3. Réponses: 3
    Dernier message: 13/12/2006, 14h03
  4. affichage de 2 décimales dans une zone de texte.
    Par tzinzin dans le forum Access
    Réponses: 7
    Dernier message: 09/02/2006, 16h41
  5. Affichage d'une zone de texte au niveau du clic
    Par Aldur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2005, 20h23

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