JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件

原创 2016年10月02日 00:21:48

JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件

版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://blog.csdn.net/m366917

这篇博客我们来说一下JAVA中的图形化界面,也就是GUI

GUI概述

英文全称是Graphical User Interface(图形用户接口)。用图形的方式,来显示计算机操作的界面,这样更方便更直观。

其实系统跟用户有两种交互,一种是GUI,一种叫做CLI。

CLI的英文全称是Command line User Interface (命令行用户接口)就是常见的Dos命令行操作。CLI需要我们记忆一些常用的命令,操作不直观。

Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。我们来学习一下

  • java.awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
  • javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。

GUI继承体系图

这里写图片描述

从图中我们可以看到
Container常用子类:Window Panel(面板,不能单独存在。)
Window常用子类:Frame Dialog

下面我们就来写一个GUI的案例

简单的窗体创建

public class FrameDemo {
    public static void main(String[] args) {
        // 创建窗体对象
        Frame f = new Frame();

        // 设置窗体标题
        f.setTitle("GUI");
        // 设置窗体大小
        f.setSize(400, 300); // 单位:像素
        // 设置窗体位置
        f.setLocation(400, 200);

        // 调用一个方法,设置让窗体可见
        f.setVisible(true);
    }
}

运行结果
这里写图片描述

上面代码的设置窗体大小和位置方法我们可以用另外一个方法一句话搞定

public class FrameDemo {
    public static void main(String[] args) {
        // 创建对象
        Frame f = new Frame("GUI");
        // 一个方法搞定setBounds(x, y, width, height);
        f.setBounds(400, 200, 400, 300);

        f.setVisible(true);
    }
}

我们运行了程序后,发现窗口关不掉,只能关闭服务,窗口才能关闭。那么我们怎么实现点击关闭按钮关闭窗口呢,这就牵扯到了事件监听机制?下面我们就来学习

事件监听机制

  • 事件源
  • 事件
  • 事件处理
  • 事件监听器

    一个事件监听机制是由上面四个方面组成,下面我们来看事件监听机制流程图

    这里写图片描述

那么我们要关闭窗口的话,就要对窗体事件进行处理并监听

        // 让窗体关闭
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

动作事件

我们再来看按钮点击事件,首先我们要给窗体中添加一个按钮,然后再去实现他的点击事件

public class FrameDemo {
    public static void main(String[] args) {
        // 创建窗体对象
        Frame f = new Frame("添加按钮点击事件");
        // 设置属性
        f.setBounds(400, 200, 400, 300);
        // 设置布局为流式布局
        f.setLayout(new FlowLayout());

        // 创建按钮对象
        Button bu = new Button("我是按钮");
         bu.setSize(20, 10);

        // 把按钮添加到窗体
        f.add(bu);

        // 设置窗体可以关闭
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        bu.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("点我点我!!");
            }
        });

        // 窗体显示
        f.setVisible(true);
    }
}

运行结果
这里写图片描述
我们每点一下按钮,控制台都会输出一句话。上面我们为窗体设置布局为流式布局,按钮才会在哪个位置,那么GUI布局还有那些呢?我们来看一下

GUI布局

  • FlowLayout(流式布局管理器)
    • 从左往右的顺序排列
    • Panel默认的布局管理器
  • BorderLayout(边界布局管理器)
    • 东南西北中
    • Frame默认的布局管理器
  • GridLayout(网格布局管理器)
    • 规则的矩阵
  • CardLayout(卡片布局管理器)
    • 选项卡
  • GridBagLayout(网格包布局管理器)
    • 非规矩的矩阵

鼠标事件

鼠标事件也很容易理解,就是当鼠标停留在按钮上就触发该事件,离开按钮后就触发另外一个事件,是不是很好玩,我们来玩一下

    button.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseEntered(MouseEvent e) {
                f.setBackground(Color.RED);
            }
        });

        button.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseExited(MouseEvent e) {
                f.setBackground(Color.WHITE);
            }
        });

运行程序后,在窗体中有一个按钮,当我们鼠标移动到按钮上面时,窗体的背景颜色会变成红色,离开时会变成白色,你可以自己试试,很好玩。感觉和在Android 中的代码有点相似
我们来看运行截图
这里写图片描述
这里写图片描述
截图看不见鼠标,但是效果还是没得说

好了,关于GUI图形化界面,我们就学习这么多,现在在开发中它不是我们掌握的重点,我们还是要了解一下的,当然他也有更加复杂的代码逻辑,如果想深入学习GUI,可以上网查询一下资料。就说这么多了。

欢迎有兴趣的同学加我朋友的QQ群:点击直接加群555974449 请备注:java基础再回首我们一起来玩吧

版权声明:本文为博主原创文章,未经博主允许不得转载。

**JAVA** GUI图形界面编程-事件监听机制

>事件监听机制概述 >>包含以下内容:  事件源:awt包或者swing包中的图形界面组件。  事件:每一个事件源都有自己的特有的对应事件和共性事件。  监听器:将可以触发某一个事件的动作都已经封...
  • Estom_yin
  • Estom_yin
  • 2017年02月21日 20:31
  • 500

JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件

JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GU...
  • qq_26787115
  • qq_26787115
  • 2016年07月31日 12:27
  • 2654

JAVA 使用Interface 实现自己的事件监听

上班没什么事做,看了一下同事的代码。觉得挺有意思,于是拿出来分享一下,当然这不是什么很难得技术,很多人都能够呀看得懂。所以这一次也是很轻松的学习。对于接口,我们使用最多的莫过于在设置控件的点击事件中了...
  • qq_25193681
  • qq_25193681
  • 2016年06月29日 16:15
  • 1076

java中的事件监听是怎样实现随时监听的

java中的事件监听是怎样实现随时监听的标签(空格分隔): Java参考文献 [1]. http://www.jcodecraeer.com/a/chengxusheji/java/2012/082...
  • qq369201191
  • qq369201191
  • 2016年04月20日 20:49
  • 5193

java Gui 键盘监听事件

简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键。比如:按下A控制台就输出A                 效果如图:                      ...
  • u011102206
  • u011102206
  • 2013年09月09日 21:23
  • 2878

Java图形界面事件监听处理之四种方法

大家先看看简单的应用程序截图,考虑一下如何实现。 截图如图一、图二、图三 图一 初始界面截图                                     ...
  • sdgihshdv
  • sdgihshdv
  • 2017年04月02日 00:09
  • 2217

java基础之GUI

GUI是图形用户接口的意思,全称为Graphical user Interface,是用图形界面的方式显示计算机操作的界面,方便直观,我们只需动用鼠标键盘操作窗口文本就可以实现我们想要的内容。...
  • wygsqsj
  • wygsqsj
  • 2015年12月14日 21:43
  • 302

JAVA上百实例源码以及开源项目源代码

  • 2016年01月03日 17:54
  • 68B
  • 下载

java中的gui实现事件监听

1、当需要按钮被按下时执行一定的任务,就要向按钮注册动作事件监听器,并为按钮编写动作事件处理代码,即编写实现ActionLisener监听接口的监听器类,并实现actionPerforned方法。设计...
  • superyzh
  • superyzh
  • 2015年06月23日 17:12
  • 1991

带按钮监听机制的简单java GUI

写在前面: 在上一篇博客中,我们介绍了一个最简单的java GUI的设计结构和相关组件,但是我们发现做出一个简单的界面并没有任何用处,连基本的交互功能(除了右上角窗口可以操作)都没有。我们希望有一个...
  • Meditator_hkx
  • Meditator_hkx
  • 2016年02月24日 13:36
  • 1664
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件
举报原因:
原因补充:

(最多只允许输入30个字)