Zoeken…


Randindeling

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

Border layout is een van de eenvoudigste layoutmanagers. De manier om een layoutmanager te gebruiken is om de manager van een JPanel .

Randindeling slots volgen de volgende regels:

  • Noord en Zuid: gewenste hoogte
  • Oost & West: gewenste breedte
  • Midden: maximale resterende ruimte

In BorderLayout slots ook leeg zijn. De lay-outmanager compenseert automatisch voor lege ruimtes en past het formaat aan indien nodig.

Dit is hoe dit voorbeeld eruit ziet:

voer hier de afbeeldingsbeschrijving in

Stroomindeling

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

Flow layout is de eenvoudigste layoutmanager die Swing te bieden heeft. Flow layout probeert alles op één regel te plaatsen en als de layout de breedte overschrijdt, wordt de lijn omwikkeld. De volgorde wordt bepaald door de volgorde waarin u componenten aan uw paneel toevoegt.

screenshots:

voer hier de afbeeldingsbeschrijving in

voer hier de afbeeldingsbeschrijving in

Raster lay-out

Met de GridLayout kunt u componenten in de vorm van een raster rangschikken.

U geeft het aantal rijen en kolommen dat u het raster wilt hebben door aan de GridLayout van de GridLayout . Zo maakt bijvoorbeeld new GridLayout(3, 2) een GridLayout met 3 rijen en 2 kolommen.

Bij het toevoegen van componenten aan een container met de GridLayout , worden de componenten rij voor rij, van links naar rechts toegevoegd:

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

Dit creëert en toont een JFrame dat eruit ziet als:

voer hier de afbeeldingsbeschrijving in

Een meer gedetailleerde beschrijving is beschikbaar: GridLayout



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow