GUI
来源:互联网 发布:mac刻录win7安装光盘 编辑:程序博客网 时间:2024/05/17 04:58
Java常用的包文件
Java.awt: Abstract Window ToolKit
需要调用本地系统方法实现功能,属于重量级控件
Java.Swing:
在AWT基础上建立的控件,由java实现。增强了移植性,属于轻量级控件。
注:一般用这个进行开发
继承结构:
建立窗体的基本动作
1. 创建Frame窗体
2. 对窗体进行基本设置
比如大小,布局,位置等
3. 定义组件
4. 将组件通过窗体的add方法添加到窗体中。
5. 让窗体显示,通过setVisible(true);
布局
1. FlowLayout(流式布局管理器)
a) 从左到右顺序排列
b) Panel默认布局管理器
2. BorderLayout(便捷布局管理器)
a) 东南西北中
b) Frame默认布局管理器
3. GridLayout(网格布局管理器)
a) 规则的矩形
4. CardLayout(卡片布局管理器)
a) 选项卡
5. GridBagLayout(网格包布局管理器)
a) 非规则矩形
事件监听机制:
整体时间流程:
事件监听机制的特点:
1. 事件源
2. 事件
3. 监听器
4. 事件处理
事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不止一个动作)都已经封装到了监听器中。
注意:
以上三者,在java中都已经定义好了,直接获取其对象来用就可以了。
我们要做的事就是:对产生的动作进行处理。
界面
Component类:
其为所有GUI的父类。
常用方法:
void
setSize(int width, int height)
调整组件的大小,使其宽度为 width,高度为 height。
void
setVisible(boolean b)
根据参数 b 的值显示或隐藏此组件。
void
setBounds(int x, int y, int width, int height)
移动组件并调整其大小。x,y为距定点的距离。
void
setLocation(int x, int y)
将组件移到新位置。
这里的位置是以窗体左边定点为基准的。
void
addKeyListener(
KeyListener l)
添加指定的按键侦听器,以接收发自此组件的按键事件。
void
addMouseListener(
MouseListener l)
添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。
Container类:
其为所有窗体的父类。
常用方法:
Component
add(Component comp)
将指定组件追加到此容器的尾部。
Window类:
常用方法:
void
addWindowListener(
WindowListener l)
添加指定的窗口侦听器,以从此窗口接收窗口事件。
Frame窗体:
构造函数:
Frame()
构造一个最初不可见的 Frame
新实例()。
Frame(
String title)
构造一个新的、最初不可见的、具有指定标题的 Frame
对象。
常用方法
void
setLayout(LayoutManager mgr)
设置此容器的布局管理器。
Button类:
构造方法:
Button(
String label)
构造一个带指定标签的按钮。
其他常用方法
void
addActionListener(
ActionListener l)
添加指定的动作侦听器,以接收发自此按钮的动作事件。
TextComponent类:
常用方法:
String
getText()
返回此文本组件表示的文本。
void
setText(
String t)
将此文本组件显示的文本设置为指定文本。
TextField类:
只有一列。
构造函数:
TextField(
String text, int columns)
构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。
其他方法:
void
addActionListener(
ActionListener l)
添加指定的操作侦听器,以从此文本字段接收操作事件。
void
setText(
String t)
将此文本组件显示的文本设置为指定文本。
TextArea类:
构造函数
TextArea(
String text, int rows, int columns, int scrollbars)
构造一个新文本区,该文本区具有指定的文本,以及指定的行数、列数和滚动条可见性。
其他方法:
void
append(
String str)
将给定文本追加到文本区的当前文本。
若果要调用获取内容的方法,需要用
中的
String
getText()
返回此文本组件表示的文本。
Dialog类:
构造函数:
Dialog(
Dialog owner,
String title, boolean modal)
构造一个最初不可见的 Dialog
,它带有指定的所有者 Dialog
、标题和模式。
其他方法:
Label类
构造函数:
Label(
String text)
使用指定的文本字符串构造一个新的标签,其文本对齐方式为左对齐。
其他方法:
void
setText(
String text)
将此标签的文本设置为指定的文本。
String
getText()
获取此标签的文本。
监听器及适配器:
在窗口监听中我们用到了类WindowListener。但是其为借口类并且已经有了7个需要覆盖的方法。但是在我们仅仅需要关闭窗口的操作,因此为了避免麻烦,我们找到其实现类WindowAdapter,但是其方法都为抽象(目的是限制创建对象)。我们只需要复写它里面我们要用到的方法就可以了。(一般接口类太多的话都有对应的适配器,找其适配器,实现方法)
监听鼠标事件:
监听键盘:
在button按钮里面对键盘的键入进行监听。这里的e为监听得到变化。里面有一些方法,可以获取监听的内容。
用TextField监听键盘:
窗体建立事例:
练习
菜单
MenuBar类:
构造方法:
MenuBar()
创建新的菜单栏。
其他方法:
Menu
add(
Menu m)
将指定的菜单添加到菜单栏。
Menu类:
构造函数
Menu(
String label)
构造具有指定标签的新菜单。
其他方法:
MenuItem
add(MenuItem mi)
将指定的菜单项添加到此菜单。
MenuItem类:
构造方法:
MenuItem(
String label)
构造具有指定的标签且没有键盘快捷方式的新菜单项。
其他方法:
void
addActionListener(
ActionListener l)
添加指定的动作侦听器,以从此菜单项接收动作事件。
FileDialog类:
构造方法:
FileDialog类:
构造方法:
FileDialog(
Dialog parent,
String title, int mode)
创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。
注:这里的mode为打开模式和保存模式两种
这里的读取文件和保存文件窗口已经做好了,调用就行。
其他方法
String
getFile()
获取此文件对话框的选定文件。
String
getDirectory()
获取此文件对话框的目录。
练习
做菜单条
利用菜单条保存退出(FileDialog类)
打开:
保存: