IT干货网

布局

sanshao 2022年03月12日 编程设计 162 0

布局

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表示列数。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

窗口监听