JAVA之窗口和布局

时间:2022-07-25 17:01:20
1.AWT包括了很多类和接口,用于Java Application的GUI编程,GUI包括各种的元素,如:窗口,按钮,文本框等。
2.AWT中的两个核心类为Container和Component。
3.Frame是Window的子类,由Frame或其子类创建的对象为一个窗体,构造方法如下:
  Frame()
  Frame(String s)//创建标题栏为字符串s的窗口

4.创建一个简单地窗口,代码如下:

import java.awt.*;
public class Frame1 {
public static void main(String[] args) {
Frame a = new Frame("Frame");//new一个frame对象
a.setSize(50,50);//设置大小
a.setBackground(Color.red);//设置背景颜色
a.setLocation(100,100);//设置窗口的宽和高
a.setResizable(false);//设置窗口大小为不可变
a.setVisible(true);//是把图形界面设置为可见
}

}

5.FlowLayout是Pannel默认的布局管理器,panel不能独立显示,必须加在某个容器中,FlowLayout对组件默认的对齐方式是居中。
  构造方法如下:
  new FlowLayout(FlowLayout.LEFT,20,30);//左对齐,组件之间水平之间距离为20个像素,垂直距离为30个像素
  new FlowLayout(FlowLayout.RIGHT);//右对齐,水平和垂直距离为缺省值5
  new FlowLayout();//使用缺省的居中对齐方式,水平和垂直间距为缺省值5
6.现在编一个小程序,来熟悉一下FlowLayout的用法:

import java.awt.*;
public class Frame2 {
public static void main(String[] args) {
Frame a = new Frame("选一下");
FlowLayout b = new FlowLayout(FlowLayout.RIGHT,10,20);//
a.setLayout(b);
a.setLocation(100,200);
a.setSize(100,200);
a.add(new TextField("你心情好吗?"));
a.add(new Button(" YES"));
a.add(new Button(" NO"));
a.setVisible(true);
}
}
程序执行后拉动窗口的大小,窗口中的组件的排列会自动发生变化

JAVA之窗口和布局

7.pack()方法默认窗口的大小,可在未设置窗口大小时使用
8.BorderLayout是Frame类的默认布局管理器,BorderLayout可以分为东西南北中五个区域,每个区域只能放一个组件,不指定组件的加入位置,默认为加入中间的位置
  用法:
  Button b = new Button("aa");
  a.add(b.BorderLayout.WEST);
  //相当于:a.dd(b,"West");
9.GridLayout布局管理器将空间划分成规则的矩形网格,每个网格区域大小相等
  用法:
  GridLayout(3,4);//3表示行数,4表示列数