java学习——52.网格布局

网格布局类似于以表格的形式,将组件放在一个个的单元格中。
GridLayout网格布局管理器将容器划分为大小相等的若干行乘若干列的网格,组件大小随容器大小而变化。

GridLayout类声明如下:

public class GridLayout implements LayoutManager, Serializable

{

public GridLayout(int rows, int cols)//参数指定行、列

}

此种方式布局时,组件的布放次序是行优先,从第一行开始,从左至右依次放置。

如果组件数超过网格数,则自动增加。

如果组件数低于网格数,则多余的网格为空。

设置此布局同样是在窗口中用方法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 GridLayout(4,4));

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{

public void windowClosing(WindowEvent ev){

System.exit(0);

}

public void windowOpened(WindowEvent ev){}

public void windowActivated(WindowEvent ev){}

public void windowDeactivated(WindowEvent ev){}

public void windowClosed(WindowEvent ev){}

public void windowIconified(WindowEvent ev){}

publicvoid windowDeiconified(WindowEvent ev){}

}

其运行结果如下:

可为其指定组件间水平和垂直间距,如果将上例的布局代码l.setLayout(new GridLayout(4,4));改为l.setLayout(newGridLayout(4,4,10,10));

其运行结果如下:

(0)

相关推荐

  • (10条消息) Java FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout布局管理器

    一.FlowLayout布局管理器 FlowLayout() 构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位. FlowLayout(int align) 构造 ...

  • java学习——53.网格包布局

    GridBagLayout网格包布局是比较灵活的布局,它将容器分成若干行和列网格,每个组件可占据其中的若干行或列的多个单元格. GridBagLayout类声明如下: public class Gri ...

  • java学习——54.混合布局

    在此篇之前,已经介绍了四种布局方式,流布局,边布局,网格布局和网格包布局. (详情请看java学习--52.网格包布局:java学习--51.网格布局:java学习--50.边布局:java学习--4 ...

  • java学习——51.边布局

    边布局是框架Frame.JFrame的默认布局方式. BorderLayout布局是将容器划分为5个区域:东.南.西.北.中,组件占满一条边或中间部分. 当容器大小改变时,四边不变,中间组件的长度和宽 ...

  • 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等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • 有利于孩子学习的风水布局有那些

    温馨提示:本文有偿阅读 孩子学习不好,当家人的操碎了心,报班,找家教,似乎效果不太理想,孩子还累得不行,其实,最应该做的,是先给孩子调好书房风水,这样事半功倍,省时省力. 在书桌的摆放上,更应该遵循一 ...

  • Java学习-126.2048代码

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