JSplitPane | Java Swing
JSplitPane est utilisé pour diviser deux composants. Les deux composants sont divisés en fonction de l’implémentation de l’aspect et de la convivialité (Look & Feel), et ils peuvent être redimensionnés par l’utilisateur. Si la taille minimale des deux composants est supérieure à la taille du panneau divisé, le séparateur ne vous permettra pas de le redimensionner.
Les deux composants d’un panneau divisé peuvent être alignés de gauche à droite à l’aide de JSplitPane.HORIZONTAL_SPLIT, ou de haut en bas à l’aide de JSplitPane.VERTICAL_SPLIT. Lorsque l’utilisateur redimensionne les composants, la taille minimale des composants est utilisée pour déterminer la position maximale / minimale sur laquelle les composants peuvent être définis.
Les constructeurs de la classe JSplitPane sont:
- JSplitPane() : crée un nouveau panneau divisé orienté horizontalement.
- JSplitPane(int o) : crée un nouveau panneau divisé avec l’orientation mentionnée.
- JSplitPane(int o, boolean r) : crée un nouveau panneau divisé avec l’orientation et le style mentionnés.
- JSplitPane(int o, boolean r, Component l, Component r) : crée un nouveau panneau divisé avec l’orientation, le style et les composants gauche et droit mentionnés.
- JSplitPane(int o, Component l, Component r) : crée un nouveau panneau divisé avec l’orientation et les composants gauche et droit mentionnés.
Les méthodes couramment utilisées sont:
- getOrientation(): retourne l’orientation du panneau divisé.
- getRightComponent(): retourne le composant droite du splitpane.
- getTopComponent(): retourne le composant supérieur du splitpane.
- getBottomComponent(): retourne le composant inférieur du splitpane.
- setRightComponent(Component c): définit le composant droit du splitpane sur c.
- setLeftComponent(Component c): définit le composant gauche du splitpane sur c.
- setTopComponent(Component c): définit le composant supérieur du splitpane sur c.
- setBottomComponent(Component c): définit le composant inférieur du splitpane sur c.
- setDividerLocation(int l) : définit l’emplacement du séparateur.
- setDividerSize(int n) : définit la taille du séparateur.
- setLastDividerLocation(int n) : définit le dernier emplacement du séparateur.
- setDividerLocation(double p) : définit l’emplacement du séparateur en pourcentage de la taille du JSplitPane.
- remove(int index) : supprime le composant à l’index spécifié.
- remove(Component c) : supprime le sous composant du panneau.
- getMinimumDividerLocation() : retourne l’emplacement minimum du séparateur.
- getMaximumDividerLocation() : renvoie l’emplacement maximal du séparateur.
- getDividerSize() : renvoie la taille du séparateur.
- getDividerLocation() : renvoie la dernière valeur transmise à setDividerLocation.
Exemple:
import javax.swing.event.*; import java.awt.*; import javax.swing.*; class Main extends JFrame { public static void main(String[] args) { // créer un nouveau frame JFrame frame = new JFrame("Exemple de JSplitPane"); // créer un panneau JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); // créer des zones de texte JTextArea t1 = new JTextArea(10, 16); JTextArea t2 = new JTextArea(10, 16); // définir des textes t1.setText("Text Area 1"); t2.setText("Text Area 2"); // ajouter les zones de texte au panneau p1.add(t1); p2.add(t2); // créer un séparateur de panneau JSplitPane sep = new JSplitPane(SwingConstants.VERTICAL, p1, p2); // définir l'orientation du séparateur sep.setOrientation(SwingConstants.VERTICAL); // Ajouter le séparateur frame.add(sep); // définir la taille du frame frame.setSize(400, 250); frame.show(); } }
Sortie:
