Sök…


Gränslayout

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

Gränslayout är en av de enklaste layouthanterarna. Sättet att använda en layouthanterare är att ställa in manager för en JPanel .

Border Layout slots följer följande regler:

  • North & South: önskad höjd
  • East & West: föredragen bredd
  • Mitt: maximalt återstående utrymme

I BorderLayout slots också vara tomma. Layouthanteraren kompenserar automatiskt alla tomma utrymmen och ändrar storleken vid behov.

Så här ser exemplet ut:

ange bildbeskrivning här

Flödeslayout

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 är den enklaste layouthanteraren som Swing har att erbjuda. Flödeslayout försöker sätta allt på en rad, och om layouten översvämmer bredden kommer den att radas in. Beställningen specificeras av den ordning du lägger till komponenter till din panel.

Skärmdumpar:

ange bildbeskrivning här

ange bildbeskrivning här

Rutnätslayout

Med GridLayout kan du ordna komponenter i form av ett rutnät.

Du skickar antalet rader och kolumner du vill att rutnätet ska ha till GridLayout konstruktör, till exempel kommer new GridLayout(3, 2) att skapa en GridLayout med 3 rader och 2 kolumner.

När du lägger till komponenter i en behållare med GridLayout komponenterna rad för rad, från vänster till höger:

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

Detta skapar och visar en JFrame som ser ut:

ange bildbeskrivning här

En mer detaljerad beskrivning finns: GridLayout



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow