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 :
Mon problème est le suivant :
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); } }
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
Partager