今天的知识有很多地方不太明白,代码是毕老师打过之后,我根据他的思路再重新自己写一次,原理很多懂了,但是具体的知识点还是不懂。网上重新又查找了一些资料,写了个总结。有不对的地方,欢迎指正。
AWT(Abstract Windowing Toolkit),抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具,AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类被称为组件(components)。他需要调用本地系统方法实现功能,对平台的依赖性比较大。
SWING解决了AWT的很多缺点。相对于AWT, Swing是轻量级元件,用纯Java写成,所以同Java本身一样可以跨平台运行。开发一般用SWING。
GUI使用另外一个线程控制,只要开启图形界面,就会多一个线程。
图形化界面仅仅是和用户交互的一种方式,更为直观的方式。,具体的操作细节,就跟以前写代码是一样的,底层没变化,只是操作变化了。
创建图像化界面:
1 .创建一个Frame窗体
Frame f = newFrame("名字");
2.多窗体进行基本的设置:
比如大小,位置,布局
3.定义组件
4.将组建通过窗体的add方法添加到窗体中
5.让窗体显示,通过setVisiable(true)的方式;
事件监听机制:
1.事件源:产出事件的组件。
2. 监听器:对组件所产生的事件作出具体响应的代吗,即事件产出与处理分别由两个不同类加以编程实现。
3.事件处理机制:AWT组件自身不编程处理相应的事件,面是交由事件监听器,它可以是组件所在的容器类或另外的Java程序类,只要它们实现了相关的事件监听器接口即可处理。
4. 事件处理的包:java.awt.event包,它提供AWT事件所需的类和接口。
ActionEvent类对应ActionListener接口;他没有Adapter
WindonEvent类对应WindonListener接口,即发生了XXXEvent类型的事件,那么处理该事件的接口为XXXListener;它们的父类为EventObject类。
事件处理的类代码要对某一类事件加以处理,则应实现它们所对应的接口,并且给出该接口中定义的全部事件响应函数的功能实现(重写其函数体);然后在创建组件时注册该事件的监听器。
事件注册:事件源通过对特定的事件进行注册,以指定该事件的监听器是谁。
事件编程步骤:
1.实现某一事件的监听器接口。
2 .在事件处理类中重写(实现)其事件处理的函数体。
3.在创建AWT组件时注册事件处理代码以指定该事件的监听器是谁。
举例子如下:
class FrameDemo
{
先定义该图形中所需组建的引用
private Frame f;
private Button but;
FrameDemo()
{
init();哥们一初始化,就立刻有图像化界面,并具有一些基本的信息
}
public void init()
{
f = new Frame("my frame");
对Frame进行基本设置
f.setBounds(300,200,750,500);分别是坐标x,y和长和宽
f.setLayout(new FlowLayout());新建立一个布局,流式模式网格模式南北模式等
建立组件
but = newButton("mybutton");
将组件添加到Frame当中
f.add(but);
加载窗体事件调用myEvent方法
myEvent();
显示窗体
f.setVisible(true);
这里边不要写事件。要把事件和图形化界面分离出来
}
要确定:事件源,事件,监听器,确认要操作的是谁。
private void myEvent()
{
f.addWindowListener(newWindowAdapter()在事件源中注册监听器。里边传一个具体的监听器对象可以用匿名内部类完成
{
public voidwindowClosing(WindowEvent e)
{
System.exit(0);
}
});
but.addActionListener(newActionListener()
{
public voidactionPerformed(ActionEvent e)这传谁?你添加的是窗口监听,返回来的是不是窗口事件?
那么你添加的是活动监听,返回来的是不是活动事件?这就是规律。
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new FrameDemo();建议一个对象就OK
}
}
好了先这么多吧,有不对的地方,欢迎指正。
---------------------- android培训 、 java培训 、期待与您交流! ----------------------