Heim  >  Artikel  >  Java  >  Wie viele Schaukel-Layouts gibt es insgesamt?

Wie viele Schaukel-Layouts gibt es insgesamt?

WBOY
WBOYOriginal
2024-02-19 18:01:05840Durchsuche

Wie viele Schaukel-Layouts gibt es insgesamt?

Swing verfügt als Entwicklungstool zum Erstellen grafischer Benutzeroberflächen über einen umfangreichen Layout-Manager, der uns dabei helfen kann, Komponenten flexibel zu organisieren und anzuordnen. Im Folgenden werden einige häufig verwendete Layout-Manager vorgestellt und entsprechende Codebeispiele bereitgestellt.

  1. BorderLayout (BorderLayout Manager)
    BorderLayout ist einer der am häufigsten verwendeten Layoutmanager. Er unterteilt den Container in fünf Bereiche: Norden, Süden, Osten, Westen und Mitte. Er kann durch Einstellung zu verschiedenen Bereichen hinzugefügt werden Komponentenbereich.

Der Beispielcode lautet wie folgt:

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 ordnet die Komponenten in der Reihenfolge an, in der sie hinzugefügt werden. Wenn die Breite des Containers nicht ausreicht, um alle Komponenten aufzunehmen, wird er automatisch umbrochen und Anzeige.

Der Beispielcode lautet wie folgt:

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 ordnet die Komponenten in Zeilen und Spalten an. Wenn sich die Größe des Containers ändert, ändert sich auch die Größe der Komponenten wird automatisch angepasst.

Der Beispielcode lautet wie folgt:

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 (Kartenlayout-Manager)
    CardLayout überlagert mehrere Komponenten an derselben Position und zeigt unterschiedliche Inhalte an, indem verschiedene Komponenten ausgetauscht werden, ähnlich wie beim Umdrehen von Karten.

Der Beispielcode lautet wie folgt:

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);
    }
}

Die oben genannten sind einige häufig verwendete Layout-Manager und entsprechende Codebeispiele. Sie können den geeigneten Layout-Manager auswählen, um Komponenten entsprechend den tatsächlichen Anforderungen anzuordnen. Gleichzeitig können wir den Layout-Manager auch an spezielle Anforderungen anpassen, indem wir vom LayoutManager erben.

Das obige ist der detaillierte Inhalt vonWie viele Schaukel-Layouts gibt es insgesamt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn