一、AWT简介

AWT主要分为三类

1.组件:Component

2.容器;Frame

3.布局管理器:LayoutManager

二、Swing简介

Swing都保存在javax.swing中,所有组件都是从JCompent中扩展出来的。此类实际上是java.awt.Component的子类。如图所示

三、基本容器JFrame

                                                          JFrame类的常用操作方法

                          方法类型描述
public JFrame() throws HeadlessException构造创建一个普通的窗体对象
public JFrame(String title)throws HeadlessException构造创建一个窗体对象,并指定标题
public void setSize(int width,int heigth)普通设置窗体大小
public void setSize(Dimension d)普通通过Dimension设置窗体大小
public void setBackground(Color c)普通设置窗体的背景颜色
public void setLocation(int x,int y);普通设置组件的显示位置
public void setLocation(point p)普通通过Point来设置组件的显示位置
public void setVisible(boolean b)普通显示或隐藏组件
public Component add(Component comp)普通向容器中增加组件
public void setLayout(LayoutManager mgr)普通设置布局管理器,如果设置为null表示不使用
public void pack()普通调整窗口大小,以适合其子组件的首选大小和布局
public Container getContentpane()普通返回此窗体的容器对象

注意点:

JFrame类构造器创建的窗体是不可见的,需要开发人员别写特定的代码才可见,(很多对窗体的操作要在可视之前对其进行完成,否则就会在运行时抛出异常)=>true

Dimension类的常用方法

方法类型描述
public Dimension()构造创建一个Dimension
public void setSize(double width,double height)普通设置显示的宽和高
public void setSize(int width,int heigth)普通设置显示的宽和高
public double getWidth()普通返回组件的宽
public double getHight()普通返回组件的高

个人理解:表示一个(单个)组件的大小(该类封装了一个构件的高度和宽度)该类的高度、宽度值都是一个整数,表明有多少个像素点。多用于表示 GUI 控件等的大小。

point类的常用方法

方法类型描述
public Point()构造在坐标原点创建对象
public Point(int x,int y)构造在指定的坐标的创建对象
public void setLocation(int x.int y)普通设置X、Y坐标
public void setLocation(double x,double y)普通设置X、Y坐标
public void move(int x,int y)普通将此组件移动到指定的坐标位置,此方法与setLocation(int,int)相同
public void translate(int dx,int dy)普通p平移(x,y)位置的点,沿x轴平移dx,沿y轴平移dy,移动后得到点(x+dx,y+dy)

asd 

四、标签组件JLabel

1.使用一个标签

   JFrame frame = new JFrame("WWW.baidu.com");
         JLabel b = new JLabel("妈妈",JLabel.CENTER);

         frame.add(b);
         frame.setSize(300,160);
         frame.setLocation(300,200);
         frame.setVisible(true);

2.在JLabel中设置图片

方法类型描述
public ImageIcon(byte[] imageData)构造将保存图片信息的byte数组设置到ImageIcon中
public ImageIcon(String filename)构造通过文件名称创建ImageIcon对象
public ImageIcon(String filename,String description)构造设置图片路径以及图片的简单描述

五.按钮组件

JButton but = new JButton("按钮")

  

六.布局管理器

FlowLayout类

使用此布局方式会使所有组件像流水一样一次进行排列

BorderLayout类

将一个窗体的版面划分成为东,西,南,北中五个区域

GridLayout

表格形式排列,使用此布局时候必须设置显示的行数和列数

CardLayout

将一组件彼此重叠地进行布局,就像一张张卡片一样,这样每次都只会展示一个界面。

绝对定位

如果不想在窗体中指定布局管理器,也可以设置坐标的方式完成布局,在Component中提供了setBounds()方法,可以定位一个组件的坐标,使用X、Y的坐标表示方式,此方法定义如下

public void setBounds(int x,int y,int width,int hight)
01-13 06:06