logo

BorderLayout (LayoutManagers)

Gestionnaires de mise en page Java

Les LayoutManagers sont utilisés pour organiser les composants d'une manière particulière. Le Gestionnaires de mise en page Java nous permet de contrôler le positionnement et la taille des composants dans les formulaires GUI. LayoutManager est une interface implémentée par toutes les classes de gestionnaires de mise en page. Les classes suivantes représentent les gestionnaires de mise en page :

exemples de code c#
  1. java.awt.BorderLayout
  2. java.awt.FlowLayout
  3. java.awt.GridLayout
  4. java.awt.CardLayout
  5. java.awt.GridBagLayout
  6. javax.swing.BoxLayout
  7. javax.swing.GroupLayout
  8. javax.swing.ScrollPaneLayout
  9. javax.swing.SpringLayout etc.

Disposition des bordures Java

Le BorderLayout est utilisé pour organiser les composants dans cinq régions : nord, sud, est, ouest et centre. Chaque région (zone) ne peut contenir qu'un seul élément. Il s'agit de la disposition par défaut d'un cadre ou d'une fenêtre. Le BorderLayout fournit cinq constantes pour chaque région :

    public statique final int NORD public statique final int SUD public statique final int EST public statique final int OUEST public statique final int CENTRE

Constructeurs de la classe BorderLayout :

    BorderLayout() :crée une disposition de bordure mais sans espace entre les composants.BorderLayout (int hgap, int vgap) :crée une disposition de bordure avec les espaces horizontaux et verticaux donnés entre les composants.

Exemple de classe BorderLayout : utilisation du constructeur BorderLayout()

Nom de fichier: Bordure.java

 import java.awt.*; import javax.swing.*; public class Border { JFrame f; Border() { f = new JFrame(); // creating buttons JButton b1 = new JButton('NORTH');; // the button will be labeled as NORTH JButton b2 = new JButton('SOUTH');; // the button will be labeled as SOUTH JButton b3 = new JButton('EAST');; // the button will be labeled as EAST JButton b4 = new JButton('WEST');; // the button will be labeled as WEST JButton b5 = new JButton('CENTER');; // the button will be labeled as CENTER f.add(b1, BorderLayout.NORTH); // b1 will be placed in the North Direction f.add(b2, BorderLayout.SOUTH); // b2 will be placed in the South Direction f.add(b3, BorderLayout.EAST); // b2 will be placed in the East Direction f.add(b4, BorderLayout.WEST); // b2 will be placed in the West Direction f.add(b5, BorderLayout.CENTER); // b2 will be placed in the Center f.setSize(300, 300); f.setVisible(true); } public static void main(String[] args) { new Border(); } } 

Sortir:

Classe BorderLayouttéléchargez cet exemple

Exemple de classe BorderLayout : utilisation du constructeur BorderLayout(int hgap, int vgap)

L'exemple suivant insère des espaces horizontaux et verticaux entre les boutons à l'aide du constructeur paramétré BorderLayout(int hgap, int gap)

génération de nombres aléatoires java

Nom de fichier: BorderLayoutExample.java

 // import statement import java.awt.*; import javax.swing.*; public class BorderLayoutExample { JFrame jframe; // constructor BorderLayoutExample() { // creating a Frame jframe = new JFrame(); // create buttons JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // creating an object of the BorderLayout class using // the parameterized constructor where the horizontal gap is 20 // and vertical gap is 15. The gap will be evident when buttons are placed // in the frame jframe.setLayout(new BorderLayout(20, 15)); jframe.add(btn1, BorderLayout.NORTH); jframe.add(btn2, BorderLayout.SOUTH); jframe.add(btn3, BorderLayout.EAST); jframe.add(btn4, BorderLayout.WEST); jframe.add(btn5, BorderLayout.CENTER); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutExample(); } } 

Sortir:

Classe BorderLayout

Java BorderLayout : sans spécifier de région

La méthode add() de la classe JFrame peut fonctionner même si nous ne spécifions pas la région. Dans un tel cas, seul le dernier composant ajouté est affiché dans le cadre et tous les composants ajoutés précédemment sont supprimés. Le dernier composant couvre toute la zone. L'exemple suivant montre la même chose.

chaîne java en json

Nom de fichier: BorderLayoutWithoutRegionExample.java

 // import statements import java.awt.*; import javax.swing.*; public class BorderLayoutWithoutRegionExample { JFrame jframe; // constructor BorderLayoutWithoutRegionExample() { jframe = new JFrame(); JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // horizontal gap is 7, and the vertical gap is 7 // Since region is not specified, the gaps are of no use jframe.setLayout(new BorderLayout(7, 7)); // each button covers the whole area // however, the btn5 is the latest button // that is added to the frame; therefore, btn5 // is shown jframe.add(btn1); jframe.add(btn2); jframe.add(btn3); jframe.add(btn4); jframe.add(btn5); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutWithoutRegionExample(); } } 

Sortir:

Classe BorderLayout