第十一周总结

本周进入了图形界面的学习,讲了AWT,Swing,基本容器JFrame,标签组件JLabel,按钮组件JButton,讲了几种布局管理器,绝对定位。

AWT

AWT大量使用windows函数,被称为重量级组件。
在AWT包中提供的所有工具包主要分为三种:
1.组件:component。
2.容器:Container。
3.布局管理器:LayoutManager。
AWT中所有组件都是从Component个MenuComponent扩展而来

Swing

Swing使用java语言实现,是以AWT平台为基础构建起来的新组件,称为轻量级组件。Swing中依然可以使用AWT的各个布局管理器,因Swing可跨平台,下面主要讲Swing的容器等等。

基本容器JFrame

JFrame是Component的子类。

在JFrame中使用Dimension类设置窗体的大小

还有一个Point类设置窗体位置

在Frame类的构造方法抛出了一个异常,但是并没有处理,因为抛出的是一个HerdlessException是RunTimeException的子类,可以不处理

标签组件JLabel

JLabel组件表示的是一个标签,本身是用于显示信息的,一般不能直接更改其显示内容。Lab了对象用Container类中的add()方法加入容器。

更改JLabel的文字样式

更改字体可以使用Component类中定义的setFont(Font f)方法

在JLabel中设置图片

直接使用Icon接口以及ImageIcon子类即可

按钮组件JButton

JBtton组件表示一个普通的按钮,使用此类可以直接在窗体中增加一个按钮。

布局管理器

如果部队窗体进行版面设置,则一个组件就会布满整个窗体,在Swing中所有的布局管理器都实现LayoutManager接口。

FlowLayout

FlowLayout属于流式布局管理器,使用此方法布局会使所有的组件像流水一样依次进行排列

BorderLayout

BorderLayout将一个窗体划分成东西南北中五个区域,可以直接将需要的组件放入其中,不过一本不会这样而是在其中放入容器。

GridLayout

GridLayout布局管理器是以表格进行管理的,在使用此布局管理器的时候必须要设置显示的行数的列数。

GardLayout

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

绝对定位

在Component中提供了setBounds()方法,可以定位一个组件地坐标
public void setBounds(int x,int y,int width,int height)
绝对定位好处是,不管窗体大小如何改,组件位置是不变的,之前地各种中,组件大小会跟着改变。

作业

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Chuangko1 {
	public static void main(String args[]) {
		 JFrame frame = new JFrame("第一个窗口");
		 frame.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));
		 JButton but = null;
		 for(int i = 1;i <= 9;i ++) {
			 but = new JButton(""+i);
			 frame.add(but);
		 }
		 frame.setSize(150,150);
		 frame.setVisible(true);
	}

}
posted @ 2019-11-08 14:47  xiaoliangliang  阅读(174)  评论(0编辑  收藏  举报