---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
GUI:
1,组件(Component)是图形化用户界面的基本组成元素,凡是能够以图形化的方式显示在屏幕上并且与用户进行交互的对象均为组件;
2,组件分类:
java.awt.MenuComponent;
java.awt.Component是除了菜单相关组件外所有JAVA的awt组件类的根父类,MenuComponent的根父类直接就是Object;
3,组件通常不能独立地显示出来,必须将其放在容器中才能显示出来,而专门用来包含其它组件的组件就是容器,java.awt.Container是所有容器的父类,其继承自java.awt.Component;
4,Panel与Frame都是容器,但Panel不能独立存在,必须被添加到其它容器中;
5,布局管理器:BorderLayout、FlowLayout、GridLayout、CardLayout、GridBagLayout;
6,BorderLayout:分为东、西、南、北、中,f.add(objectname, BorderLayout.North);若不写后面的位置,默认放置于Center,且如果同一区域有多个对象,最后的对象会覆盖前面的对象,Frame默认的布局管理器;
7,FlowLayout:默认组件放置于中间,若有多个组件按照从左到右、从上到下排版,Panel默认的布局管理器;
8,GridLayout:规则的矩阵;
9,GridBagLayout:非规则的矩阵;
10,Container内部可以添加其它组件对象,并且能指定下标,是因为Container内部使用了集合;
11,创建图形化界面基本流程:
1、创建Frame窗体;
2、对窗体进行基本设置,比如size、location、color、layout、bounds等;
3、创建组件对象;
4、将组件对象通过窗体的add方法添加进窗体;
5、设置窗体显示,setVisible(true);
6、添加监听器;
7、设计监听器,关键是设计好监听器内部的事件处理方法;
事件:
1,事件源(EventSource):能够产生事件的GUI组件对象,比如按钮、文本框等;
2,事件(Event):用户对组件的一个操作称为一个事件,每一个事件源都有自己特有的事件和共有事件;
3,事件处理方法(EventHandler):能够接收、解析、处理事件类对象,实现与用户交互功能的方法;
4,事件监听器(EventListener):能够处理事件的一个类,能够触发事件的动作都已经封装进了监听器,一个监听器不止可以监听一个动作;
5,编程需先导入java.awt.event.*;
6,事件处理步骤:
1,先建立事件源对象:Button bn = new Button(“按钮”);
2,向事件源注册某种事件的事件监听器:bn.addXXXXListener(事件监听器对象);
3,设计好可以处理此事件的事件监听器:
class 类名implements XXListener{
重写XXListener接口中的方法(即事件处理方法);
}
7,程序员:1、告诉事件源可以自动产生哪些事件(即注册某种事件的事件监听器);2、设计好处理此类事件的事件监听器;
8,系统自动:当用户对事件源进行操作后,事件源会自动产生该操作的事件,并将事件封装成对象,发送给事件监听器,事件监听器自动判断是何类事件,并调用相应的方法做相应的处理;
9,常用事件:ActionEvent:激活组件时发生的事件;KeyEvent:操作键盘时发生的事件;MouseEvent:操作鼠标时发生的事件;WindowEvent:操作窗口时发生的事件,比如窗口的最大化和最小化、关闭;
10,Dialog是一个带标题和边界的顶层窗口,Dialog和FileDialog的构造方法可以指定它们的拥有者Frame,但不需要通过Frame的add方法将其添加进Frame,也就没有这个方法,只需要在使用到对话框的时候将对话框设置为可见的;
openDia = new FileDialog(f, "打开文件",FileDialog.LOAD);
d = newDialog(f, "错误提示", true);
11,Menu:MenuBar要想添加到Frame中去,须用Frame的setMenuBar方法;
只有Menu才能添加MenuItem,MenuItem不能添加任何组件。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>