黑马程序员_java基础-图形用户接口GUI(Graphical User Interface)

本文介绍了Java中的图形用户接口GUI,包括GUI的优势、AWT和Swing的区别,以及常见布局管理器。同时,通过实例展示了如何创建窗体、添加组件和事件监听,讲解了事件监听机制的特点,并提供了模拟记事本读写的练习案例。
摘要由CSDN通过智能技术生成

------- <a href="http://www.itheima.com"  target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! -------


图形用户接口GUI(GraphicalUser Interface)

GUI用图形的方式,来显示计算机操作的界面,这样更方便更直观.

CLI(Command line User Interface)命令行用户接口,就是常见的Dos命令行操作,需要记忆一些常用的命令,操作不直观.比如:创建文件夹,或者删除文件夹等.

Java为GUI提供的对象都存在java.Awt和java.Swing两个包中.

java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地方法来实现功能.属重量级控件.有些依赖平台,跨平台效果不佳.

java.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Jaca实现.增强了移植性,属轻量级控件,用它的开发的图形界面能在任何系统下运行保持一致.跨平台性强.

     继承关系图


Container:容器,是一个特殊的组件,该组件中可以通过add方法添加其它组件.容器中的组件的排放方式就是布局.

常见的布局管理器:

     FlowLayout(流式布局管理器)从左到右的顺序排列,Paner默认的布局管理器.

     BorderLayout(边界布局管理器)东南西北中,Frame默认的布局管理器.

     GridLayout(网格布局管理器)规则的矩阵.

     GridBagLayout(网格包布局管理器)非规则矩阵.

     CardLayout(卡片式布局管理器)选项卡.

练习:

importjava.awt.*;

importjava.awt.event.*;

public class FrameDemo

{

     public static void main(String[] args)

     {

         //创建一个窗体

         Frame frame = new Frame("我的窗体");

 

         // 设置窗体的长度(横坐标)为300,宽度(纵坐标)为200

         frame.setSize(300, 200);

 

         // 设置窗体弹出来时的位置

         frame.setLocation(200, 300);

 

         // 设置窗体的布局

         frame.setLayout(new FlowLayout());

 

         // 为窗体添加一个button按扭

         Button btn = new Button("这是一个按扭");

         frame.add(btn);

/*

          * 如果没有处理该事件,那么窗体将不能关闭

          //单击关闭事件

         frame.addWindowListener(newWindowAdapter()

         {

              // 重写WindowAdapter的windowClosing方法

              public voidwindowClosing(WindowEvent e)

              {

                   // 关闭窗体,也就是停止程序

                   System.exit(0);

              }

         });

         */

 

 

         // 设置窗体可见

         frame.setVisible(true);

     }

 

}

以上代码运行后,出现的窗体当点击关闭的时候,却没有反应.这是因为没有运行该事件处理的方法.如果把

frame.addWindowListener(newWindowAdapter()

{

     // 重写WindowAdapter的windowClosing方法

     public void windowClosing(WindowEvent e)

     {

         // 关闭窗体,也就是停止程序

         System.exit(0);

     }

});

这个方法的注释去掉再运行,那么窗体就能正常关闭.

 

事件监听机制的特点:

1.      事件源:就是awt包或者swing包中的那些图形界面组件

2.      事件;每一个事件源都有自己的对应事件和共性事件

3.      监听器:将可以触发某一个事件的动作(不只一个动作)封装在一起.

4.      事件处理:对某一事件产生的动作进行处理.

前三都在java中已经定义.而我们要做的就是”事件的处理”.

 

/*

 * 练习:

 * 鼠标和键盘的一些事件

 *

 */

importjava.awt.*;

import java.awt.event.*;

 

public class MouseAndKeyEvent

{

     private Framef =null;

     private Buttonb =null;

     private TextFieldtf =null;

//构造方法

     public MouseAndKeyEvent()

{

     init();

}

 

     // 程序开始运行窗体就且有一些设置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值