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)。

(0)

相关推荐

  • VSTO外接程序项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】

    VSTO外接程序项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】

  • Java学习-注解和反射

    注解 java.Annotation Annotation的作用:可以呗其他程序读取 Annotation的格式 注解是:@注释名 在代码中存在,还可以添加一些参数 ​@SuppressWarning ...

  • Java学习-多线程

    多线程 任务(Task).进程(Process).线程(Thread) 进程的创建 1.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用sta ...

  • Java学习-Mybatis

    Mybatis Maven依赖: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependenc ...

  • Java 学习笔记

    您对计算机(电脑)有了解吗? 计算机组成 系统软件 直接和硬件交互的软件叫系统软件,例如 win7.win8.Linux.mac等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • 班主任建议掌握!一起学习50个成语典故!(下)

    成语典故是指关于成语产生.形成.流传的故事传说. 学习成语典故,可以提升孩子们的文学素养,让大家对成语的产生.历史事件.相关历史人物会有一个基本的了解. 在此前的干货中,心田君给大家整理了25个成语典 ...

  • 班主任建议掌握!一起学习50个成语典故!(上)

    成语典故指关于成语产生.形成.流传的故事传说. 学习成语,学习典故,可以提升孩子们的文学素养,让孩子们对成语的产生.相关历史人物.历史事件有一定的了解. 今天,心田君整理了25个成语典故,从出处和释义 ...

  • Java学习-126.2048代码

    本篇帖的是按钮的代码. 因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码. //本类是Game_2048类的内部类,用来实现上.下.左.右四个按钮,以及重新开始和退出游戏 ...

  • Java学习—125.2048代码

    本篇帖的是部分动作代码. 每个方法前都有注释说明本方法的功能. //随机选取一个位置,并填入数字2.如果此位置中已有数字,那么换一个位置. public void rule(){ x=ran.next ...

  • Java学习—124.2048代码

    游戏的主界面的代码在类game_2048中. 本类主要包括两个方面: 一是布局. 二是动作,按钮的动作. 其中,动作又有菜单动作,按钮动作.而按钮动作又有多方面,在下一篇的代码中会有注释说明. 本篇帖 ...