布局

布局

java为frame界面提供了3种布局,分别是流式布局、东西南北中和表格。

流式布局

流式布局有3种对齐方式,分别是左、中、右。

以下代码采用左流式布局:

package com.cxf.gui;

import java.awt.*;

public class Demo5 {
    public static void main(String[] args) {

        Frame frame = new Frame();
        frame.setBounds(400,400,400,400);
        frame.setBackground(Color.cyan);
        frame.setVisible(true);
        frame.setLayout(new FlowLayout(FlowLayout.LEFT));

        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");

        frame.add(button1);
        frame.add(button2);
        frame.add(button3);

    }
}

输出结果:

代码通过第12行的setLayout方法来设置布局,FlowLayout表示流式布局,LEFT表示流式布局的左对齐。

只需把LEFT改为CENTER和RIGHT就能实现居中对齐和右对齐。

居中对齐输出结果:

右对齐输出结果:

东西南北中

以下代码采用东西南北中布局:

package com.cxf.gui;

import java.awt.*;

public class Demo5 {
    public static void main(String[] args) {

        Frame frame = new Frame();
        frame.setBounds(400,400,400,400);
        frame.setBackground(Color.cyan);
        frame.setVisible(true);
        //frame.setLayout(new FlowLayout(FlowLayout.RIGHT));

        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");
        Button button4 = new Button("button4");
        Button button5 = new Button("button5");

        frame.add(button1,BorderLayout.CENTER);
        frame.add(button2,BorderLayout.WEST);
        frame.add(button3,BorderLayout.EAST);
        frame.add(button4,BorderLayout.NORTH);
        frame.add(button5,BorderLayout.SOUTH);

    }
}

输出结果:

东西南北中的布局不需要setLayout方法,而是在第20-24行的add中添加BorderLayout.方位

表格

以下代码采用表格布局:

package com.cxf.gui;

import java.awt.*;

public class Demo5 {
    public static void main(String[] args) {

        Frame frame = new Frame();
        frame.setBounds(400,400,400,400);
        frame.setBackground(Color.cyan);
        frame.setVisible(true);
        frame.setLayout(new GridLayout(2,3));

        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");
        Button button4 = new Button("button4");
        Button button5 = new Button("button5");

        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
        frame.add(button4);
        frame.add(button5);

    }
}

输出结果:

代码通过第12行的setLayout进行布局,GridLayout表示表格布局,它的第一个参数2表示行数,第二个参数3表示列数。

posted on 2021-08-25 11:58  菜小疯  阅读(274)  评论(0编辑  收藏  举报