GUI就是图形用户界面

在诺基亚手机的时代

手机中有自带的小游戏

打开之后会有一个咖啡一样的标志

那个就是用GUI做的

感觉暴露年龄了o(╥﹏╥)o

现在让我们来看一下吧~

GUI

窗口的创建

创建一个窗口并显示出来用Frame

布局管理器

FlowLayout(流式布局管理器)

从左到右的顺序排列。

Panel(面板)默认的布局管理器。

BorderLayout(边界布局管理器)

东,南,西,北,中

Frame默认的布局管理器。

GridLayout(网格布局管理器)

规则的矩阵

CardLayout(卡片布局管理器)

选项卡

打开我们的eclipse多开几个页面,这就是卡片布局了

GridBagLayout(网格包布局管理器)

非规则的矩阵

就像图片上的按键的布局,就是非规则矩阵布局

暂时就是这么多了,剩下的知识点,以后我们做练习的时候顺便提一下,下面就是重头戏了

事件监听

学习GUI需要知道的两点

1)事件处理

事件:

用户的一个操作(点击鼠标,敲击键盘等操作)

事件源:

被操作的组件(按钮等)

2)监听器:

一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法

窗体监听

事件源是窗体,把监听器注册到事件源上,把事件对象传递给监听器

WindowListener

用于接收窗口事件的侦听器接口。

我们要知道实现一个接口,就要实现它里面的所有的方法,效果就是这样的

其实我们只是需要一个closing方法就可以了,那么这里就用到了一个适配器的原理,有一个抽象类 windowAdapter

如果要实现 WindowListener 接口,则必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。

利用适配器类,我们的代码可以优化成这个样子

还可以继续优化,利用匿名内部类~

这样实现了

点击上面的x就可以关闭窗口的操作了

鼠标监听

MouseListener

用于接收组件上的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener)

MouseAdapter

接收鼠标事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

同上,我们直接利用匿名内部类的方式来写代码

键盘监听和键盘事件

KeyListener

用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)

KeyAdapter

接收键盘事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

KeyEvent

表示组件中发生键击的事件。

动作监听

addActionListener 

用于接收操作事件的侦听器接口。

对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。(这个没有适配器)

默认监听键盘空格键以及鼠标左键

Java中的GUI,不来就错过了相关推荐

  1. java中gui_java GUI 快速入门

    java 中编写 GUI 有两中工具包,分别为 AWT.Swing. Swing 是 AWT 的拓展,Swing 具有比 AWT 丰富的组件和方法. AWT 和 Swing 都能跨平台使用:AWT 会 ...

  2. java中把gui插入图片_在java中使用图片实现gui的美化.pdf

    在java中使用图片实现gui的美化.pdf 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 图形图像处理GRAPHICS AND IMAGE ...

  3. JAVA中的GUI设计

    一.Swing包概述 Swing主要用于GUI (Graphical User Interface) 程序,包括窗口.菜单.按钮.图形界面元素(比如:QQ).这些类分别位于 java.awt 和 ja ...

  4. 关于Java中的GUI事件处理

    关于事件监听的实现过程通过下面的代码来具体说明: 1 package com.sxt; 2 3 import java.awt.BorderLayout; 4 import java.awt.even ...

  5. java 中gui的作用_java学习中最应该注意的Java GUI用户界面以何为基础

    java中的GUI编程(Graphic User Interface,图形用户接口),是在它的笼统窗(Abstract Window Toolkit,AWT)上完成的,java.awt是AWT的东西类 ...

  6. Java中的一些清屏方法(汇总)

    虽然Java中的GUI编程已经很方便,但我们还是时不时地需要在命令行中实现图形化效果(比如实验要求233),下面给出一些在Java中实现清屏或类似清屏效果的方法. 1.简单暴力法 (也就是输出许多空行 ...

  7. Java中的Volatile如何工作? Java中的volatile关键字示例

    如何在Java中使用Volatile关键字 在Java采访中,什么是volatile变量以及何时在Java中使用volatile变量是Java 采访中一个著名的多线程采访问题 . 尽管许多程序员都知道 ...

  8. java中的图形界面编辑界面_第58节:Java中的图形界面编程-GUI

    欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图 ...

  9. java中gui_java中GUI是什么意思?详细图解

    在java中有许多基础知识内容丰富数量繁多,这往往需要我们花费更多的时间和精力去熟练掌握.今天就来为大家介绍java中GUI是什么意思,并且通过生动的图片为大家展示. 首先来简单介绍一下GUI. 它其 ...

最新文章

  1. Task04:青少年软件编程(Scratch)等级考试模拟卷(二级)
  2. Deno 正式发布,彻底弄明白和 node 的区别
  3. VHDL硬件描述语言(二)——子程序
  4. CPU的插槽类型LGA与Socket 的区别
  5. Mysql数据库,表,字符集,主外键等创建的sql模板
  6. java实现串口ymodem 传输文件_活久见!Jmeter也能实现文件传输和发送邮件啦
  7. CentOS7使用firewalld打开关闭防火墙与端口(转载)
  8. Java基础————理解Integer对象的缓存策略
  9. c++刷题(18/100)树
  10. vscode extension
  11. CSDN - 屏蔽百度广告
  12. 基于Python实现的DHT嗅探器
  13. 直线型一阶倒立摆1---概念篇
  14. supermap地图展示OD图
  15. 通信行业名词解释ID、MD、HW、SW
  16. 在idea中如何设置项目编码为UTF-8?
  17. python假期培训班
  18. 3d建模网上学习靠谱吗?学3d建模哪个大学好?
  19. 小程序获取链接中的参数
  20. 一文读懂什么是物联网!

热门文章

  1. 使用静态内部类实现懒汉单例模式-java
  2. 各种骚操作试试 V7变回V5试试,直接变胖FAT,刷。。。2020-10-26
  3. 这家公司利用蜜罐技术捕获社会工程骗局
  4. 机器学习-聚类(混合高斯算法)
  5. 【PracticalAI丨从0到1】这可能是2023最全面的人工智能学习路线
  6. PicklingError: Can‘t pickle <function <lambda>...attribute lookup <lambda> on __main__ failed
  7. vs代码自动补全快捷键html,VSCode 自动补全(智能提示)
  8. Python中判断Nonetype的方法
  9. go vendor的正确使用方式
  10. Clover 驱动文件夹_黑苹果必备:升级Clover版本“四叶草”