swing
Gestion de la mise en page
Recherche…
Mise en page frontière
import static java.awt.BorderLayout.*;
import javax.swing.*;
import java.awt.BorderLayout;
JPanel root = new JPanel(new BorderLayout());
root.add(new JButton("East"), EAST);
root.add(new JButton("West"), WEST);
root.add(new JButton("North"), NORTH);
root.add(new JButton("South"), SOUTH);
root.add(new JButton("Center"), CENTER);
JFrame frame = new JFrame();
frame.setContentPane(root);
frame.pack();
frame.setVisible(true);
La disposition des bordures est l'un des gestionnaires de mise en page les plus simples. La façon d'utiliser un gestionnaire de disposition est de définir le gestionnaire d'un JPanel
.
Les emplacements de mise en page de bordure suivent les règles suivantes:
- Nord et Sud: hauteur préférée
- Est et Ouest: largeur préférée
- Centre: espace restant maximal
Dans BorderLayout
emplacements peuvent également être vides. Le gestionnaire de mise en page compense automatiquement les espaces vides, en les redimensionnant si nécessaire.
Voici à quoi ressemble cet exemple:
Disposition de flux
import javax.swing.*;
import java.awt.FlowLayout;
public class FlowExample {
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(new JButton("One"));
panel.add(new JButton("Two"));
panel.add(new JButton("Three"));
panel.add(new JButton("Four"));
panel.add(new JButton("Five"));
JFrame frame = new JFrame();
frame.setContentPane(Panel);
frame.pack();
frame.setVisible(true);
}
});
}
}
La disposition de flux est le gestionnaire de disposition le plus simple que Swing a à offrir. La disposition de flux essaie de tout placer sur une ligne et, si la disposition déborde de la largeur, elle enveloppera la ligne. L'ordre est spécifié par l'ordre dans lequel vous ajoutez des composants à votre panneau.
Captures d'écran:
Disposition de la grille
GridLayout
vous permet d’organiser les composants sous la forme d’une grille.
Vous passez le nombre de lignes et de colonnes que vous voulez que la grille GridLayout
au constructeur de GridLayout
. Par exemple, le new GridLayout(3, 2)
créera un GridLayout
avec 3 lignes et 2 colonnes.
Lors de l'ajout de composants à un conteneur avec GridLayout
, les composants seront ajoutés ligne par ligne, de gauche à droite:
import javax.swing.*;
import java.awt.GridLayout;
public class Example {
public static void main(String[] args){
SwingUtilities.invokeLater(Example::createAndShowJFrame);
}
private static void createAndShowJFrame(){
JFrame jFrame = new JFrame("Grid Layout Example");
// Create layout and add buttons to show restraints
JPanel jPanel = new JPanel(new GridLayout(2, 2));
jPanel.add(new JButton("x=0, y=0"));
jPanel.add(new JButton("x=1, y=0"));
jPanel.add(new JButton("x=0, y=1"));
jPanel.add(new JButton("x=1, y-1"));
jFrame.setContentPane(jPanel);
jFrame.pack();
jFrame.setLocationRelativeTo(null);
jFrame.setVisible(true);
}
}
Cela crée et affiche un JFrame
qui ressemble à:
Une description plus détaillée est disponible: GridLayout