先说说FlowLayout
流式布局管理器。
效果
这是当第一行显示不下,才转到第二行的。
看看代码
package Frame;import java.awt.BorderLayout;
import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JFrame;public class MyLayout{
JFrame frame;
public MyLayout(JFrame frame) {
// TODO Auto-generated constructor stub
this.frame=frame;
}
//留给UI类操作的函数
public void creatLayout(){ShowFlowLayout();
}void ShowFlowLayout(){
frame.setLayout(new FlowLayout());JButton East=new JButton("东方");
JButton West=new JButton("西方");
JButton North=new JButton("北方");
JButton South=new JButton("南方");
JButton Center=new JButton("中央");
JButton East1=new JButton("东方1");
JButton West1=new JButton("西方1");
JButton North1=new JButton("北方1");
JButton South1=new JButton("南方1");
JButton Center1=new JButton("中央1");frame.add(East);
frame.add(West);
frame.add(North);
frame.add(South);
frame.add(Center);
frame.add(East1);
frame.add(West1);
frame.add(North1);
frame.add(South1);
frame.add(Center1);
}}
基本,处理BorderLayout 不用写setLayout()这个函数之外,其他布局都要写,系统默认的是流式布局。
其构造中还有其他方法
frame.setLayout(new FlowLayout(FlowLayout.LEFT));
效果:
其他的就不再演示了,可以自己去试下。
接下来在说说 GridLayout
网格布局
其主要代码块
void ShowGridLayout(){
frame.setLayout(new GridLayout(3,3));JButton East=new JButton("东方");
JButton West=new JButton("西方");
JButton North=new JButton("北方");
JButton South=new JButton("南方");
JButton Center=new JButton("中央");
JButton East1=new JButton("东方1");
JButton West1=new JButton("西方1");
JButton North1=new JButton("北方1");
JButton South1=new JButton("南方1");frame.add(East);
frame.add(West);
frame.add(North);
frame.add(South);
frame.add(Center);
frame.add(East1);
frame.add(West1);
frame.add(North1);
frame.add(South1);}
这里还可以设置各网格之间的间距。
改下构造函数即可
frame.setLayout(new GridLayout(3,3,12,12));
关于这些布局都是很简单的说明。
一般各种复杂的布局,其实就是这三个布局的互相嵌套形成的。
只要会了这3个布局,基本任何界面都能做出来。
关于图形界面就不会再讲了
因为我的重点不在这里
主要是在java ee 和android上
个人对这个不是很重视。
关于其他控件之类的有时间再研究吧。
java进阶10 GUI图形界面 布局管理器之FlowLayout GridLayout,布布扣,bubuko.com