Utiliser les builders de panel¶
JTheque fournit une classe très pratique permettant de créer facilement des panels : PanelBuilder.
Cette classe, comme son nom l'indique, est un constructeur de panel. On va soit lui passer un panel, soit lui laisser le soin d'en créer et ensuite on ne va pas agir directement sur le panel, mais plutôt sur le builder.
Voici les constructeurs disponibles :
- public PanelBuilder() : Construit un nouveau builder pour un nouveau panel avec un GridBagLayout.
- public PanelBuilder(JPanel panel) : Construit un nouveau builder pour un panel spécifié et configure ce panel avec un GridBagLayout.
- public PanelBuilder(LayoutManager layout) : Construit un nouveau builder pour un nouveau panel avec le layout spécifié.
- public PanelBuilder(JPanel panel, boolean layout) : Construit un nouveau builder pour un panel existant. Le paramètre booléen indique s'il faut mettre un GridBagLayout (true) ou garder le layout existant (false).
Une fois ceci fait, vous pouvez construire le panel en utilisant les méthodes suivantes :
- <T extends Component> T add(T component, Object constraints) : Ajoute le composant au panel et retourne le composant ajouté
- JComboBox addComboBox(DefaultComboBoxModel model, Object constraints) : Ajoute un combobox au panel avec le modèle spécifié et retourne le combobox
- JComboBox addComboBox(DefaultComboBoxModel model, ListCellRenderer renderer, Object constraints) : Ajoute un combobox au panel avec le modèle et le renderer spécifiés et retourne le combobox
- JCheckBox addI18nCheckBox(String key, Object constraints) : Ajoute un checkbox internationalisé au panel et retourne la case à cocher.
- JList addList(ListModel model, ListCellRenderer renderer, Object constraints) : Ajoute une JList au panel avec le modèle et le renderer spécifié et retourne la liste. La liste est automatiquement ajoutée dans un JScrollpane.
- JButton addButton(Action action, Object constraints) : Ajoute un bouton pour l'action spécifié et retourne le bouton
- JLabel addLabel(Object constraints) : Ajoute un label vide au panel et le retourne
- JLabel addLabel(String text, Object constraints) : Ajoute un label avec le texte spécifié et le retourne
- JLabel addLabel(String text, Color foreground, Object constraints) : Ajoute un label avec le texte spécifié et la couleur de texte spécifié
- JThequeI18nLabel addI18nLabel(String key, Object constraints) : Ajoute un label internationalisé avec la clé spécifiée
- JThequeI18nLabel addI18nLabel(String key, int style, Object constraints) : Ajoute un label internationalisé avec la clé spécifié et le style spécifié (1 = gras, 2 = italique).
- void addScrolledTextArea(String text, Object constraints) : Ajoute une zone de texte dans un JScrollPane avec le texte spécifié.
- JXTree addScrolledTree(TreeModel model, TreeCellRenderer renderer, Object constraints) :
- void addScrolled(JComponent view, Object constraints) : Ajoute le composant spécifié à l'intérieur d'un JScrollPane.
- void addI18nSeparator(String key, Object constraints) : Ajouter un séparateur internationalisé.
- void addButtonBar(Object constraints, Action... actions) : Ajoute une barre de boutons contenant toutes les actions spécifiés chacun dans un bouton.
- PanelBuilder addPanel(Object constraints) : Ajoute un nouveau panel et retourne un builder vers ce nouveau panel.
- PanelBuilder addPanel(LayoutManager layout, Object constraints) : Ajoute un nouveau panel avec le layout spécifié et retourne un builder pour ce nouveau panel.
Dans toutes ces méthodes, le paramètre constraints fait référence aux contraintes pour le layout. Dans le cas du gridbaglayout, vous pouvez utiliser les méthodes gbcSet pour construire ces contraintes.