Java复习笔记-GUI

1 AWT

-Abstract WIndow Toolkit 都封装在了这个包里。抽象窗口:因为java是跨平台的,具体窗口可能是windows的 linux的,理想中不同平台出来的是一样的窗口,但是,AWT并没有实现完全的跨平台,最终出来的窗口是不一样的。Swing也离不开AWT。

-AWT包括了很多类和接口,用于Java Application的GUI(Graphics User Interface)编程,GUI的各种元素由Java类来实现,使用AWT所涉及的类一般在java.awt包及其子包中。

-Container和Component是AWT中的两个核心类。

Component:代表了我们的图形元素,比如说Checkbox,Button等,Component里有一种比较特殊的叫Container,Container是容器,用来容纳其他Component的元素,比如说窗口。Container是一种Component,但是她可以容纳Component,也可以容纳Container。一般的Component对象不能独立地显示出来,必须将“放在”某一地Container对象中才可以显示出来。

Container分两种:

-Window:独立窗口,分两种:Frame、Dialog;Dialog分两种:模态(不处理对话框,不点掉,背后的主程序应用不了)、非模态(对话框点不点掉无所谓,主窗口照样运行)

-Panel:不能作为应用程序的独立窗口显示,Panel只能装在WIndow里显示。

2 布局管理器

管理Component在Container中地布局,不必直接设置Component位置和大小。

每个Container都有一个布局管理器对象,当容器需要对某个组件进行定位或者判断其大小尺寸时,就会调用其对地布局管理器,调用Container和setLayout方法改变其布局管理器对象。

(你只管往里扔元素,怎么排是布局管理器的事情)

AWT提供了5种布局管理器类:

FlowLayout(Panel类的默认布局管理器)(流水线式的)

BorderLayout(Frame的默认)(分成东西南北中)

GridLayout(分成小格)

CardLayout

GridBagLayout

 

2  事件监听

【事件模型

钩子函数(回调函数)

有多态存在。Button里面调了代码,但是实际调的是哪个不知道,你往上挂就行了,你挂什么人家调什么。(实现特定的接口)

(button不知道你是哪个类,但是知道你一定实现了这个接口,button调用这个接口里的方法,你实际new的谁,调的就是谁的方法)】

 

Java复习笔记-GUI_第1张图片

Button b=new Button("Press me!");

Monitor mh=new Monitor();

b.addActionListener(bh);//mh监听着ActionEvent的发生,当你ActionEvent的发生时候,请你调用actionPerformed()方法

 

class Monitor implements ActionListener

{
        public void actionPerformed(ActionEvent e)

{

System.out.println("A button has been pressed");

}

}

 

ActionEvent:封装了某种事件的具体信息

当我们的button被按下的时候,它发出的这件事情叫ActionEvent。(动作事件)),Monitor实现了ActionListener接口,必须实现actionPerformed方法,

你可能感兴趣的:(java)