GUI
来源:互联网 发布:sql注入攻击检测工具 编辑:程序博客网 时间:2024/05/16 08:27
01.GUI概述
————————————————————————————————————————
计算机有两种方法与用户交互:命令行和图形用户界面
GUI:Graphical User Interface 图形用户接口。
CLI:Command line User Interface 命令行用户接口。
Gui相对于CLI更加方便直接,因为不用记住复杂的命令可。
Java中为GUI提供的对象都存在Java.Awt和javax.Swing连个包中
java.Awt:Abstract Window Toolkit 抽象窗口工具包。
该包较依赖本地系统,属于重量级控件。
Java.Swing:是对Awt的升级,完全基于Awt,提供了更多的控件。
完全由java实现,在任何平台实现的效果都一样。
增强了移植性,属于轻量级控件。
还有一个Swt包,Eclipse的界面就是由Swt开发的。
继承关系图
02.布局—layout
————————————————————————————————————————
容器中的组件的排放方式就是布局
FlowLayout 流式布局
从左到右的顺序排列
Panel默认的布局管理器
BorderLayout 边界布局
东 南 西 北 中(该布局中若没有指定方位,将以最大面积填充窗体-没有边界)
Frame默认的布局管理器
GridLayout 网络布局 grid:格子,网格
规则的矩阵
CardLayout 卡片布局
选项卡
GridBagLayout 网络包布局
非规则的矩阵
GUI的布局做之前要画草稿,做界面最苦恼--丑就一个字
03.Frame
————————————————————————————————————————
Frame中的方法过于多,要熟练掌握API的查找。
只要开启图形界面就会开启一个线程。
创建图形化界面:
1,创建frame窗体。
2,对窗体进行基本设置。比如大小,位置,布局。
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)
牛刀小试:
04.事件监听机制
————————————————————————————————————————
事件监听机制的组成:1.事件源 2.事件 3.监听器 4.事件处理。
事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
以上三者,在java中都已经定义好了。直接获取其对象来用就可以了。
我们要做的是对产生的动作进行处理。
05.窗体事件
————————————————————————————————————————
06.Action事件
————————————————————————————————————————
而ActionListener中只有一个方法(actionPerformed(ActionEvent)),不需要adapter。
ActionListener是少数没有adapter(适配器)的接口之一。
import java.awt.*;
import java.awt.event.*;
class FrameDemo
{
private Frame f;
private Button b;
FrameDemo()
{
init();//一定要此句,否则编译通过,执行也通过,就是不显示窗体。
}
public void init()
{
f = new Frame("my frame");
f.setBounds(300,100,600,400);//综合了setSize与setLocation
f.setLayout(new FlowLayout());
b = new Button("my button");
f.add(b);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowCloseing(WindowEvent e)
{
System.exit(0);
}
});
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new FrameDemo();
}
}
0 0
- GUI
- GUI
- GUI+
- GUI
- GUI
- GUI
- gui
- gui
- GUI
- GUI
- GUI
- GUI
- GUI
- GUI
- GUI
- GUI
- GUI
- GUI
- WCF---“无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法
- iOS中Category的原理
- codeforces 498 b Name That Tune
- Mule ESB的component(一)——概念介绍
- 多看事实论述,还是总结归纳?
- GUI
- 编写高度可维护javascript代码的几点关键性原则
- java 多线程并发执行
- HDU1102 Constructing Roads 最小生成树
- C++ Primer(类)
- 高性能服务开发之定时器
- Mule ESB的component(二)——Component的使用
- Apache commons chain简介和简单实现
- Error:Command /usr/bin/codesign failed with exit code 1