布局管理器
在 Java 中,布局管理器用于按顺序排列组件。LayoutMananger 是一个实现布局管理器类的接口。
下面是一些用于布局管理器表示的类。
1. java.awt.BorderLayout
2. java.awt.FlowLayout
3.java.awt.GridLayout
4.java.awt.CardLayout
5.javax . swing . box layout-javax . swing . box 配置图
边框布局
当我们想要在五个区域中排列组件时,使用了边框布局。这五个地区可以是北部、南部、东部、西部和中部。边框布局中有 5 种类型的构造器。它们如下:
1.公共静态最终 int NORTH
2.南方公共静态决赛
3.公共静态最终 int EAST
4.西部公共静态决赛
5.公共静态最终国际中心
示例:
import java.awt.*;
import javax.swing.*;
public class BorderDemo1
{
JFrame frame;
BorderDemo1()
{
frame=new JFrame();
JButton box1=new JButton("**NORTH**");;
JButton box2=new JButton("**SOUTH**");;
JButton box3=new JButton("**EAST**");;
JButton box4=new JButton("**WEST**");;
JButton box5=new JButton("**CENTER**");;
frame.add(box1,BorderLayout.NORTH);
frame.add(box2,BorderLayout.SOUTH);
frame.add(box3,BorderLayout.EAST);
frame.add(box4,BorderLayout.WEST);
frame.add(box5,BorderLayout.CENTER);
frame.setSize(400,400);
frame.setVisible(true);
}
public static void main(String[] args)
{
new BorderDemo1();
}
}
网格布局
当我们想要在矩形网格中排列组件时,使用网格布局。
网格布局中有 3 种类型的构造器。它们如下:
1.网格布局()
2.网格布局(整数行,整数列)
3.网格布局(int 行,int 列,in gap,int vgap)
示例:
import java.awt.*;
import javax.swing.*;
public class GridDemo1{
JFrame frame1;
GridDemo1(){
frame1=new JFrame();
JButton box1=new JButton("*1*");
JButton box2=new JButton("*2*");
JButton box3=new JButton("*3*");
JButton box4=new JButton("*4*");
JButton box5=new JButton("*5*");
JButton box6=new JButton("*6*");
JButton box7=new JButton("*7*");
JButton box8=new JButton("*8*");
JButton box9=new JButton("*9*");
frame1.add(box1);
frame1.add(box2);
frame1.add(box3);
frame1.add(box4);
frame1.add(box5);
frame1.add(box6);
frame1.add(box7);
frame1.add(box8);
frame1.add(box9);
frame1.setLayout(new GridLayout(3,3));
frame1.setSize(500,500);
frame1.setVisible(true);
}
public static void main(String[] args) {
new GridDemo1();
}
}
流程布局
当我们想要一个接一个地按顺序排列组件时,使用了“流布局”。
流布局中有 3 种类型的构造器。它们如下:
1.FlowLayout()
2.内部对齐(int align)
3.流布局(int align,in gap,intvgap)
示例:
import java.awt.*;
import javax.swing.*;
public class FlowDemo1{
JFrame frame1;
FlowDemo1(){
frame1=new JFrame();
JButton box1=new JButton("1");
JButton box2=new JButton("2");
JButton box3=new JButton("3");
JButton box4=new JButton("4");
JButton box5=new JButton("5");
JButton box6=new JButton("6");
JButton box7=new JButton("7");
JButton box8=new JButton("8");
JButton box9=new JButton("9");
JButton box10=new JButton("10");
frame1.add(box1);
frame1.add(box2);
frame1.add(box3);
frame1.add(box4);
frame1.add(box5);
frame1.add(box6);
frame1.add(box7);
frame1.add(box8);
frame1.add(box9);
frame1.add(box10);
frame1.setLayout(new FlowLayout(FlowLayout.LEFT));
frame1.setSize(400,400);
frame1.setVisible(true);
}
public static void main(String[] args) {
new FlowDemo1();
}
}
箱体布局
当我们想要垂直或水平排列组件时,使用方框布局。
盒子布局是盒子布局中唯一的构造器
示例:
import java.awt.*;
import javax.swing.*;
public class BoxDemo1 extends Frame {
Button buttonBox[];
public BoxDemo1 ()
{
buttonBox = new Button [2];
for (inti = 0;i<2;i++)
{
buttonBox[i] = new Button ("** Button " + (i + 1)+" **");
add (buttonBox[i]);
}
setLayout (new BoxLayout (this, BoxLayout.Y_AXIS));
setSize(500,500);
setVisible(true);
}
public static void main(String args[])
{
BoxDemo1 obj=new BoxDemo1();
}
}
示例:
import java.awt.*;
import javax.swing.*;
public class BoxDemo1 extends Frame {
Button buttonBox[];
public BoxDemo1 ()
{
buttonBox = new Button [2];
for (inti = 0;i<2;i++)
{
buttonBox[i] = new Button ("** Button " + (i + 1)+" **");
add (buttonBox[i]);
}
setLayout (new BoxLayout (this, BoxLayout.X_AXIS));
setSize(500,500);
setVisible(true);
}
public static void main(String args[])
{
BoxDemo1 obj=new BoxDemo1();
}
}
卡片布局
当我们希望一次只看到一个组件时,使用“卡片布局”。
卡片布局中有两种类型的构造器。它们如下:
1.CardLayout()
2.卡片布局
示例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardDemo1 extends JFrame implements ActionListener
{
CardLayoutc_Card;
JButton box1,box2,box3;
Container d;
CardDemo1()
{
d=getContentPane();
c_Card=new CardLayout(40,30);
d.setLayout(c_Card);
box1=new JButton("studytonight_1");
box2=new JButton("studytonight_2");
box3=new JButton("studytonight_3");
box1.addActionListener(this);
box2.addActionListener(this);
box3.addActionListener(this);
d.add("P",box1);
d.add("Q",box2);
d.add("R",box3);
}
public void actionPerformed(ActionEvent e)
{
c_Card.next(d);
}
public static void main(String[] args)
{
CardDemo1 obj =new CardDemo1();
obj.setSize(500,500);
obj.setVisible(true);
obj.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}