您的位置:首页 > 产品设计 > UI/UE

黑马程序员_java GUI编程

2013-12-19 09:33 369 查看
  ------- android培训java培训、java学习型技术博客、期待与您交流!
-------

1.简述:图形用户接口(GUI)是指图形方式显示计算机操作环境的用户接口。通过图形用户接口,用户与应用程序之间可以方便友好的进行交互。
2.抽象窗口工具包(AWT)是Java语言提供建立图形用户界面的工具集,它支持图形用户界面编程,它提供了一套丰富的组件类用于生成图形用户接口,主要有组件(Components)、容器(Containers)和布局管理(Layouts)三部分组成。
在AWT工具集中大多数组件都是有Component类派生而来,Component类是一个抽象类,Container类是Component的一个子类,其他容器类由Container类派生而来。
组件是构成图形用户接口的基本元素,常用组件有:
Button 按钮
Lable  标签,主要用于封装文字
Checkbox 复选框
TextArea 文本区域
TextField 文本框
Container 是容器,是一个特殊的组件,里面还可以再添加Frame窗口、Dialog对话框、Panel面板
3.布局管理器
FlowLayout流式布局 组件按照加入容器的先后顺序从左向右排列
BorderLayout边界布局 容器空间被划分为东南西北中五个区域
CardLayout 卡片式布局
GridLayout 网格布局
4.简单GUI程序的结构演示
import java.awt.*;
public class TestAwt{
public static void main(String[] args){
//1.创建窗口,设置窗口属性和窗口布局
Frame fr = new Frame();
fr.setSize(300,500);
fr.setLayout(new FlowLayout());
//2.定义容器中的组件,并设置组件的属性、大小、位置
TextField tf= new TextField();
Button bt = new Button("确定");
fr.add(tf);
fr.add(bt);
//设置窗口可视
fr.setVisible(true);
}
}

5.事件处理  事件是用户在界面上的一个操作,凡是支持图形化用户界面的操作系统,都能够实时监测环境中发生的各种事件,如键盘或鼠标触发的各类事件,并将所发生的事件传送给当前的应用程序,应用程序根据事件的类型做出相应的处理。

事件处理模型事件处理的方法称为事件处理模型。Java语言采用事件处理模型称为事件的授权模式。在这种模型下事件处理是从一个事件源授权到一个或多个事件监听者,事件处理功能有事件监听器完成。图形用户接口中的组件作为事件源可以触发事件,触发事件之前要通过addxxxListener方法向组件注册监听器,xxx是相对应组件的名称。

监听器类结尾以Listener结尾。

授权模型主要包括三个对象:

                          (1)Event:事件

                          (2)Event Source:事件源

                          (3)Event handler:时间处理器

Adapt事件适配器的出现是为了方便创建匿名内部类,以方便创建监听器对,调用方法。

6.事件监听机制案例演示

public class MouseAndKeyDemo {
private Frame f;
private TextField tf;
private Button but;
public MouseAndKeyDemo() {
init();
}
private void init() {
f = new Frame("演示鼠标和键盘监听");
//用setBounds(int x,int y,int width,int height)方法设置边框
f.setBounds(400,200,500,400);
f.setLayout(new FlowLayout());

tf = new TextField(35);
but = new Button("按钮");

f.add(tf);
f.add(but);

myEvent();
f.setVisible(true);
}
private void myEvent() {
//给文本框添加键盘监听
tf.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e) {
if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("enter run...");
}
}
) ;

f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);

//在按钮上添加一个鼠标监听
but.addMouseListener(new MouseAdapter() {
private int count = 1;
public void mouseEntered(MouseEvent e) {
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2)
tf.setText("mouse double click..."+count++);
}
});
}
public static void main(String[] args) {
new MouseAndKeyDemo();
}
}

           ------- android培训java培训、java学习型技术博客、期待与您交流!
-------

    详情请查看:http://www.itheima.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: