---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
GUI
Graphical User Interface(图形用户接口)
用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI
Command line User Interface(命令行用户接口)
就是常见的DOS命令行操作
需要记忆一些常用的命令,操作不直观。
举例:
比如:创建文件夹,或者删除文件夹等
Java为GUI提供的对象都存在Java.Awt和Javax.Swing两个包中
Awt与Swing
java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。(它跨平台性,有点差)
javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多地组件,而且完全由java实现。增强了移植性,属轻量级控件
布局管理器:
容器中的组件的排放方式,就是布局。
常见的布局管理器:
FlowLayout(流式布局管理器)
从左到右的顺序排列。
Panel默认的布局管理器。
BorderLayout(边界布局管理器)
东,南,西,北,中
Frame默认的布局管理器
GridLayout(网格布局管理器)
规则的矩阵
CardLayout(卡片布局管理器)
选项卡
GridBagLayout(网格包布局管理器)
非规则的矩阵
Component是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。电影图形用户界面中的按钮,复选框和滚动条组建示例
Frame() 构造一个最初不可见的Frame新实例
Frame()(标题)构造一个新的,最初不可见的,具有指定标题的Frame对象。
创建一个图形界面的步骤:
1.创建frame窗体。
2.对窗体进行基本设置。
比如大小,位置,布局。
3.定义组建。
4.将组件通过窗体的add方法添加到窗体中
5.让窗体显示,通过setVisible(true);
例如:
Frame f=new Frame("my awt");
//设置窗体的大小长500 宽400
f.setSize(500,400);
//设置窗体出现的位置,据左边距300,上边距200
f.setLocation(300,200);
f.setLayout(new FlowLayout());
//创建一个按钮 按钮显示的文字为“我是一个按钮”
Button b=new Button("我是一个按钮");
//向窗体中添加这个按钮
f.add(b);
//设置窗体是否显示,是true 默认为不显示
f.setVisible(true);
事件监听机制
事件监听机制组成:
事件源(组件)
事件(Event)
监听器(Listener)
事件处理(引发事件后处理方式)
事件监听机制的特点:
1.事件源
2.事件
3.监听器
4.事件处理。
事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作都已经封装到了监听其中。
以上三者,在java中都已经定义好了。
我们要做的事情是,就是对产生的动作进行处理。
窗体监听器:
addWindowListener(WindowListener l)
添加指定的窗口侦听器,以从此窗口接收窗口事件。
WindowListener是个接口,里面有7个抽象方法:
void windowActivated(WindowEvent e)
将 Window 设置为活动 Window 时调用。
void windowClosed(WindowEvent e)
因对窗口调用 dispose 而将其关闭时调用。
void windowClosing(WindowEvent e)
用户试图从窗口的系统菜单中关闭窗口时调用。
void windowDeactivated(WindowEvent e)
当 Window 不再是活动 Window 时调用。
void windowDeiconified(WindowEvent e)
窗口从最小化状态变为正常状态时调用。
void windowIconified(WindowEvent e)
窗口从正常状态变为最小化状态时调用。
void windowOpened(WindowEvent e)
窗口首次变为可见时调用
WindowListener接口有四个实现类,
AWTEventMulticaster, BasicToolBarUI.FrameListener, JMenu.WinListener, WindowAdapter
WindowAdapter抽象类
接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。
当窗体运行出现的时候,我想关闭这个窗体,点击X的时候。所对应的事件:
因为windowListener的子类windowAdapter已经实现了windowListener接口
并覆盖了其中的所有方法。那么我们只要继承自windowadapter覆盖我需要的方法即可。
例如:
class MyWin extends WindowAdapter{
public void windowclosint(WindowEvent e){
//我们点关闭按钮的时候,我们就是想让这个程序停止,退出程序
System.exit(0);
}
}
按钮就是事件源。
那么选择哪个监听器呢?
通过关闭窗体示例了解到,想要知道哪个组件具备什么样的特有监听器。
需要查看该组建对象的功能。
通过查阅button的描述,发现按钮支持一个特有监听addActionListener.
Button but=new Button();
but.addActionListener(new ActionListener()){
//这里是按钮监听器,那么返回的就是按钮事件所以是ActionEcent
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
鼠标和键盘事件:
鼠标点击事件:public void mouseClicked(MouseEvent)
当按钮被活动了,那么鼠标和键盘对此按钮都有效 public void actionPerformed(ActionEvent e)
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------