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 :

[JPanel] [GUI] question d'architecture


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut [JPanel] [GUI] question d'architecture
    Hello la communauté,

    J'ai une interface graphique à base d'onglet. Chaque onglet affichant un panel différent mais ayant une architecture commune à savoir :

    Une JCheckBox permet de sélextionner ou désélectionner chacun des composants contenus dans mon JPanel. Pour se faire je dérive JPanel de la manière suivante :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    public class GUI extends JPanel implements Constants{
    	private JPanel configPanel, choicePanel;
    	private String name;
    	public GUI(String  panelName) {
    		this.name = panelName;
    		
    		this.setBorder(BorderFactory.createTitledBorder(Interface.blackline, ""));
    		this.setLayout(new BorderLayout());
    		
    		choicePanel = new JPanel();
    			this.add(BorderLayout.NORTH, choicePanel);
    			choicePanel.add(new JCheckBox("use and configure "+name));
    			
    		configPanel = new JPanel();
    			this.add(BorderLayout.CENTER, configPanel);
    			configPanel.setBackground(bleute);
    			this.setBorder(BorderFactory.createTitledBorder
    
    (Interface.blackline, name+" config. panel"));
    			
    		
    			
    	}
    	
    	public void enableAllComponents() {
    		Component[] components = configPanel.getComponents();
    		for (int i = 0; i < components.length; i++)
    			components[i].setEnabled(true);
    	}
    	public void disableAllComponents() {
    		Component[] components = configPanel.getComponents();
    		for (int i = 0; i < components.length ; i++)
    			components[i].setEnabled(false);
    	}
    	
    	
    	
    }
    Mon problème est le suivant :

    Sachant que chaque panel aura des composants différents quel est selon vous le meilleur moyen de rediriger les méthodes concernant l'ajout de composant dans le panel et la disposition de ces composants (layout) vers mon panel de configuration (configPanel)?

    J'ai bien essayé de redéfinir quelques méthode "add" et "setLayout" de JPanel mais sans grand succés

    J'aimerais pouvoir utiliser les méthodes définies par la classe JPanel mais que celles-ci s'appliquent à mon panel de configuration seul. je ne sais pas si je suis clair

    Comment vous y prendriez vous vous ?

    merci d'avance

    Comme le disait Heisenberg « Chérie, j’ai garé la voiture, mais je sais plus où »

  2. #2
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    Je n'ai pas tout compris de ce ke tu as dis. Mais deja pour ton architecture tu peux deja creer une classe abstraite PanelCommun qui herite de JPanel, et ensuite PanelOnglet qui herite de PanelCommun. Pour le reste explique mieux stp.
    "L'ignorance, c'est la béatitude, ce qui explique peut-être pourquoi tout le monde sourit"
    Pensez au tag , ca évite de se galérer pour rien.

  3. #3
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut
    Ok.
    Dans l'état actuel des choses si j'ajoute un composant à mon panel, il va être intégré au JPanel qui englobe mon "choicePabel" & "configPanel".

    Or mon action de sélection/déselction (entre autre), s'applique au "configPanel", le reste étant fixe.

    Comment faire pour ajouter un composant directement à mon congigPanel sans passer par qqchose de lourd du style passer par un getConfigPanel().add(component)


    est ce possible ?

    [Edit] il y avait une erreur dans le code (modif en gras)
    Comme le disait Heisenberg « Chérie, j’ai garé la voiture, mais je sais plus où »

  4. #4
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    si tu veux ajoute une fonction addComponent(Component c) a ta classe GUI qui elle va s'occuper d'ajouter le composant a ton configPanel.
    Mais ca reviendra a la meme chose que de faire getConfigPanel().add(component) mais en plus discret.

    Mais sinon je ne vois pas ce que tu trouve de lourd.
    "L'ignorance, c'est la béatitude, ce qui explique peut-être pourquoi tout le monde sourit"
    Pensez au tag , ca évite de se galérer pour rien.

Discussions similaires

  1. Question d'architecture : séparation contenu ressource
    Par azzhunter dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 29/01/2008, 09h58
  2. Question sur Architecture d'un jeu vidéo 3D
    Par Polygon dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 28/10/2007, 12h43
  3. [C# 2.0] Question d'architecture - code dynamique
    Par StormimOn dans le forum Framework .NET
    Réponses: 11
    Dernier message: 06/03/2007, 11h19
  4. [Création d'un moteur] Petite question d'architecture technologique
    Par ludovic85 dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 07/02/2007, 18h00
  5. [Architecture] Question d'architecture
    Par bourbaki2003 dans le forum Général Java
    Réponses: 3
    Dernier message: 11/07/2006, 10h38

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