Cours Java :Graphique 1
Java : Les objets graphiques
Cours Java :Graphique 2
Les gestionnaires de placement
Les paquetages graphiques de Java mettent à la
disposition des programmeurs des objets qui vont
l'aider à placer les objets graphiques dans un
conteneur.
BorderLayout
BoxLayout
CardLayout
FlowLayout
GridBagLayout
GridLayout
SpringLayout
Cours Java :Graphique 3
Les gestionnaires de placement
Les conteneurs (racines) de composants ont un
gestionnaire de placement par défaut :
BorderLayout
Le gestionnaire sera responsable du placement des
composants lorsque par exemple l'utilisateur va
modifier la taille d'un composant.
La méthode setLayout() permet de modifier le
gestionnaire de placement
Il est possible de placer les composants en utilisant
des positions absolues
setLayout(null) // il n'y a plus de gestionnaire de
placement
Cours Java :Graphique 4
Le BorderLayout
Le BorderLayout partage le conteneur en 5 parties
top, bottom, left, right, et center
Lorsque les composants contenus n'occupent
pas tout l'espace, la partie centre va occuper
l'espace disponible
Cours Java :Graphique 5
Le BorderLayout
Lors de l'ajout d'un composant, la partie du centre
est utilisée par défaut
JFrame frame = new JFrame("BorderLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = frame.getContentPane();
JButton button = new JButton("Button 1 (PAGE_START)");
pane.add(button, BorderLayout.PAGE_START);
button = new JButton("Button 2 (CENTER)");
button.setPreferredSize(new Dimension(200, 100));
pane.add(button, BorderLayout.CENTER);
button = new JButton("Button 3 (LINE_START)");
pane.add(button, BorderLayout.LINE_START);
button = new JButton("Long-Named Button 4 (PAGE_END)");
pane.add(button, BorderLayout.PAGE_END);
button = new JButton("5 (LINE_END)");
pane.add(button, BorderLayout.LINE_END);
frame.pack();
frame.setVisible(true);
Cours Java :Graphique 6
Le BorderLayout
Les constantes suivantes peuvent aussi être
utilisées
JFrame frame = new JFrame("BorderLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = frame.getContentPane();
JButton button = new JButton("Button 1 (NORD)");
pane.add(button, BorderLayout.NORTH);
button = new JButton("Button 2 (CENTRE)");
button.setPreferredSize(new Dimension(200, 100));
pane.add(button, BorderLayout.CENTER);
button = new JButton("Button 3 (OUEST)");
pane.add(button, BorderLayout.WEST);
button = new JButton("Long-Named Button 4 (SUD)");
pane.add(button, BorderLayout.SOUTH);
button = new JButton("5 (EST)");
pane.add(button, BorderLayout.EAST);
frame.pack();
frame.setVisible(true);
Cours Java :Graphique 7
Le BoxLayout
Le gestionnaire BoxLayout permet de placer les
composants suivant l'axe des X ou l'axe des Y.
Il respecte au mieux les préférences des
composants (taille et alignement)
Cours Java :Graphique 8
Le BoxLayout
JFrame frame = new JFrame("BoxLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = frame.getContentPane();
pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));
float alignement = Component.CENTER_ALIGNMENT;
JButton button = new JButton("Button 1");
button.setAlignmentX(alignement);
pane.add(button);
button = new JButton("Button 2");
button.setAlignmentX(alignement);
pane.add(button);
button = new JButton("Button 3");
button.setAlignmentX(alignement);
pane.add(button);
button = new JButton("Button le plus large");
button.setAlignmentX(alignement);
pane.add(button);
button = new JButton("Button 5");
button.setAlignmentX(alignement);
pane.add(button);
frame.pack();
frame.setVisible(true);