Szukaj…


Układ granicy

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

Układ granicy jest jednym z najprostszych menedżerów układu. Sposobem korzystania z menedżera układu jest ustawienie menedżera JPanel .

Automaty do układów obramowania podlegają następującym zasadom:

  • Północ i południe: preferowana wysokość
  • Wschód i zachód: preferowana szerokość
  • Centrum: maksymalna pozostała przestrzeń

W BorderLayout sloty mogą być również puste. Menedżer układu automatycznie zrekompensuje wszelkie puste miejsca, zmieniając rozmiar w razie potrzeby.

Oto jak wygląda ten przykład:

wprowadź opis zdjęcia tutaj

Układ przepływu

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

Układ przepływu jest najprostszym menedżerem układu, który Swing ma do zaoferowania. Układ przepływu próbuje umieścić wszystko w jednym wierszu, a jeśli układ przekroczy szerokość, zawinie linię. Kolejność jest określona przez kolejność dodawania komponentów do panelu.

Zrzuty ekranu:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Układ siatki

GridLayout pozwala układać komponenty w postaci siatki.

Liczbę wierszy i kolumn GridLayout do konstruktora GridLayout , na przykład new GridLayout(3, 2) utworzy GridLayout z 3 wierszami i 2 kolumnami.

Podczas dodawania komponentów do kontenera za pomocą GridLayout , komponenty będą dodawane rząd po rzędzie, od lewej do prawej:

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

Spowoduje to utworzenie i wyświetlenie JFrame która wygląda następująco:

wprowadź opis zdjęcia tutaj

Dostępny jest bardziej szczegółowy opis: GridLayout



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow