---------------------------
GUI(图形用户界面)
-----------------------------------------------------------------------------------------------------------------------------------
GUI
• Graphical User Interface(图形用户接口)。
• 用图形的方式,来显示计算机操作的界面,这样更方便更直 观。
CLI
• Command line User Interface (命令行用户接口)
• 就是常见的Dos命令行操作。
• 需要记忆一些常用的命令,操作不直观。
举例:
• 比如:创建文件夹,或者删除文件夹等
Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。
---------------------------------------------------------------------------------------------------------------------------------
Awt和Swing
Awt与 Swing
• java.Awt:Abstract Window ToolKit (抽象窗口 工具包),需要调用本地系统方法实现功能。属 重量级控件。
• javax.Swing:在AWT的基础上,建立的一套图 形界面系统,其中提供了更多的组件,而且完全 由Java实现。增强了移植性,属轻量级控件。
----------------------------------------------------------------------------------------------------------------------------------
布局管理器
容器中的组件的排放方式,就是布局。
常见的布局管理器:
• FlowLayout(流式布局管理器)
• 从左到右的顺序排列。
• Panel默认的布局管理器。
• BorderLayout(边界布局管理器)
• 东,南,西,北,中
• Frame默认的布局管理器。
• GridLayout(网格布局管理器)
• 规则的矩阵
• CardLayout(卡片布局管理器)
• 选项卡
• GridBagLayout(网格包布局管理器)
• 非规则的矩阵
----------------------------------------------------------------------------------------------------------------------------------
建立一个简单的窗体
Container常用子类:Window Panel(面板, 不能单独存在。)
Window常用子类:Frame Dialog
简单的窗体创建过程:
• Frame f = new Frame(“my window”);
• f.setLayout(new FlowLayout());
• f.setSize(500,400);//设置窗体大小
• f.setLocation(300,200);//设置窗体出现在屏幕的位置
• f.setVisible(true);
---------------------------------------------------------------------------------------------------------------------------------
事件监听机制组成
事件源(组件)
事件(Event)
监听器(Listener)
事件处理(引发事件后处理方式)
事件监听机制
确定事件源(容器或组件)
通过事件源对象的addXXXListener()方法将侦听器注册到该 事件源上。
该方法中接收XXXListener的子类对象,或者XXXListener的 子类XXXAdapter的子类对象。
一般用匿名内部类来表示。
在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量 接收。
事件触发后会把事件打包成对象传递给该变量。(其中包括 事件源对象。通过getSource()或者,getComponent()获
取。)
例程
通过按钮关闭窗体。
在窗体中通过按钮创建按钮。
熟悉键盘事件与鼠标事件
--------------------------------------------------------------------------------------
菜单
MenuBar,Menu,MenuItem
先创建菜单条,再创建菜单,每一个菜单 中建立菜单项。
也可以菜单添加到菜单中,作为子菜单。
通过setMenuBar()方法,将菜单添加到 Frame中。
练习:完成一个简单的记事本程序。