Java中的GUI

GUI就是图形用户界面

在诺基亚手机的时代

手机中有自带的小游戏


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

那个就是用GUI做的

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


现在让我们来看一下吧~

GUI

窗口的创建

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

640?wx_fmt=jpeg


布局管理器

FlowLayout(流式布局管理器)

从左到右的顺序排列。

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

640?wx_fmt=png


BorderLayout(边界布局管理器)

东,南,西,北,中

 Frame默认的布局管理器。

640?wx_fmt=jpeg


GridLayout(网格布局管理器)

规则的矩阵

640?wx_fmt=jpeg


CardLayout(卡片布局管理器)

选项卡

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

640?wx_fmt=jpeg


GridBagLayout(网格包布局管理器)

非规则的矩阵

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

640?wx_fmt=jpeg


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

事件监听

学习GUI需要知道的两点

1)事件处理

事件:

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

事件源:

被操作的组件(按钮等)


2)监听器:

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


窗体监听

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


WindowListener

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

640?wx_fmt=png


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

640?wx_fmt=jpeg


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


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


640?wx_fmt=png


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

640?wx_fmt=jpeg


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

640?wx_fmt=png

这样实现了

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


鼠标监听

MouseListener

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

640?wx_fmt=png


MouseAdapter

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

640?wx_fmt=png


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

640?wx_fmt=jpeg


键盘监听和键盘事件

KeyListener

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


KeyAdapter

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

640?wx_fmt=png


KeyEvent

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

640?wx_fmt=png


动作监听

addActionListener 

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

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

640?wx_fmt=png

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


GUI的重点内容就是事件的监听

小伙伴们吸收一下

剩下的内容

会在之后的练习中给大家演示的


u1F4AA.0.png扩展阅读

Java中的线程之线程间的通信

40个好的用户界面-界面设计的一些技巧


来源:Java联盟

版权声明:文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除或授权事宜

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值