java学习——50.流布局
当一个窗口中的组件比较多时,界面应该整洁干净,符合一般人的审美,并且方便使用。
Java提供了不同风格的布局,今天介绍流布局方式。
1、流布局
FlowLayout流布局管理是按我们日常习惯来进行布局。将组件从上到下、从左到右地放置。一行满了就放置到下一行。
组件的尺寸不会有任何修改。
组件的位置随容器大小而变化。
FlowLayout类声明如下:
public class FlowLayout implements LayoutManager, java.io.Serializable
{
public static final int LEFT =0; //左对齐,类常量,全部大写
public static final int CENTER = 1; //居中
public static final int RIGHT =2; //右对齐
public FlowLayout();//构造方法,默认居中
public FlowLayout(int align);//align参数指定对齐方式
}
上一篇中的例子即为流布局。
设置窗口布局的方法是:setLayout();
例:
import java.awt.*;
import java.awt.event.*;
public class Login extends Frame{
public static void main(String args[]){
Login l=new Login();
l.setTitle("计算器");
l.setSize(200,200);
l.setLocation(200,200);
l.setVisible(true);
l.setResizable(false);
l.setLayout(new FlowLayout());//设置布局方式为流布局
Label label=new Label("请输入:");
l.add(label);
TextField t=new TextField(10);
l.add(t);
Button b1=new Button("1");
Button b2=new Button("2");
Button b3=new Button("3");
Button b4=new Button("4");
Button b5=new Button("5");
Button b6=new Button("6");
Button b7=new Button("7");
Button b8=new Button("8");
Button b9=new Button("9");
Button b10=new Button("0");
l.add(b1);
l.add(b2);
l.add(b3);
l.add(b4);
l.add(b5);
l.add(b6);
l.add(b7);
l.add(b8);
l.add(b9);
l.add(b10);
Button b=new Button("确定");
l.add(b);
l.addWindowListener(new WinClose());//实现关闭窗口功能
}
}
class WinClose implements WindowListener{
publicvoid windowClosing(WindowEvent ev){
System.exit(0);
}
publicvoid windowOpened(WindowEvent ev){}
publicvoid windowActivated(WindowEvent ev){}
publicvoid windowDeactivated(WindowEvent ev){}
publicvoid windowClosed(WindowEvent ev){}
publicvoid windowIconified(WindowEvent ev){}
publicvoid windowDeiconified(WindowEvent ev){}
}
其运行结果如下:
如果改变其对齐方式,仅需将new FlowLayout()改为new FlowLayout(0)。
如果改变其为右对齐,仅需将new FlowLayout()改为new FlowLayout(1)。