Maison  >  Article  >  Java  >  Combien y a-t-il de configurations de balançoires au total ?

Combien y a-t-il de configurations de balançoires au total ?

WBOY
WBOYoriginal
2024-02-19 18:01:05854parcourir

Combien y a-t-il de configurations de balançoires au total ?

Swing, en tant qu'outil de développement pour créer des interfaces utilisateur graphiques, dispose d'un riche gestionnaire de mise en page qui peut nous aider à organiser et à disposer les composants de manière flexible. Ce qui suit présentera plusieurs gestionnaires de mise en page couramment utilisés dans Swing et fournira des exemples de code correspondants.

  1. BorderLayout (Border Layout Manager)
    BorderLayout est l'un des gestionnaires de mise en page les plus couramment utilisés dans Swing. Il divise le conteneur en cinq zones : nord, sud, est, ouest et centre. zone des composants.

L'exemple de code est le suivant :

import javax.swing.*;

public class BorderLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("BorderLayout Example");
        frame.setLayout(new BorderLayout());

        JButton btnNorth = new JButton("North");
        JButton btnSouth = new JButton("South");
        JButton btnEast = new JButton("East");
        JButton btnWest = new JButton("West");
        JButton btnCenter = new JButton("Center");

        frame.add(btnNorth, BorderLayout.NORTH);
        frame.add(btnSouth, BorderLayout.SOUTH);
        frame.add(btnEast, BorderLayout.EAST);
        frame.add(btnWest, BorderLayout.WEST);
        frame.add(btnCenter, BorderLayout.CENTER);

        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
  1. FlowLayout (Flow Layout Manager)
    FlowLayout organise les composants dans l'ordre dans lequel ils sont ajoutés. Si la largeur du conteneur n'est pas suffisante pour accueillir tous les composants, il sera automatiquement enveloppé. et affichage.

L'exemple de code est le suivant :

import javax.swing.*;

public class FlowLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("FlowLayout Example");
        frame.setLayout(new FlowLayout());

        JButton btn1 = new JButton("Button 1");
        JButton btn2 = new JButton("Button 2");
        JButton btn3 = new JButton("Button 3");
        JButton btn4 = new JButton("Button 4");

        frame.add(btn1);
        frame.add(btn2);
        frame.add(btn3);
        frame.add(btn4);

        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
  1. GridLayout (Grid Layout Manager)
    GridLayout organise les composants en lignes et en colonnes. Si la taille du conteneur change, la taille des composants. sera automatiquement ajusté.

L'exemple de code est le suivant :

import javax.swing.*;

public class GridLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("GridLayout Example");
        frame.setLayout(new GridLayout(3, 3));

        for (int i = 1; i <= 9; i++) {
            JButton btn = new JButton("Button " + i);
            frame.add(btn);
        }

        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
  1. CardLayout (Card Layout Manager)
    CardLayout superpose plusieurs composants sur la même position et affiche un contenu différent en changeant de composants, comme si vous retourniez des cartes.

L'exemple de code est le suivant :

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CardLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("CardLayout Example");
        frame.setLayout(new CardLayout());

        JButton btn1 = new JButton("Card 1");
        JButton btn2 = new JButton("Card 2");
        JButton btn3 = new JButton("Card 3");

        frame.add(btn1, "Card 1");
        frame.add(btn2, "Card 2");
        frame.add(btn3, "Card 3");

        btn1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                CardLayout cl = (CardLayout) frame.getContentPane().getLayout();
                cl.show(frame.getContentPane(), "Card 2");
            }
        });

        btn2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                CardLayout cl = (CardLayout) frame.getContentPane().getLayout();
                cl.show(frame.getContentPane(), "Card 3");
            }
        });

        btn3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                CardLayout cl = (CardLayout) frame.getContentPane().getLayout();
                cl.show(frame.getContentPane(), "Card 1");
            }
        });

        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

Vous trouverez ci-dessus plusieurs gestionnaires de mise en page couramment utilisés dans les exemples de code swing et correspondants. Vous pouvez choisir le gestionnaire de mise en page approprié pour organiser les composants en fonction des besoins réels. Dans le même temps, nous pouvons également personnaliser le gestionnaire de mise en page pour répondre à des besoins particuliers en héritant de LayoutManager.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn