WindowListener(附带适配器改良方案)
来源:互联网 发布:阿里云流量收费标准 编辑:程序博客网 时间:2024/04/30 01:01
记忆力再次被折磨,求IDE助攻! ps:顺便复习六级单词。。。
源代码:
import java.awt.event.WindowListener ;import java.awt.event.WindowEvent ;import java.awt.Color ;import javax.swing.JFrame ;class MyWindowEventHandle implements WindowListener{ public void windowActivated(WindowEvent e) { System.out.println("windowActivated---->窗口被选中") ; } public void windowClosed(WindowEvent e) { System.out.println("windowClosed---->窗口被关闭") ; } public void windowClosing(WindowEvent e) { System.out.println("windowClosing---->窗口关闭") ; } public void windowDeactivated(WindowEvent e) { System.out.println("windowDeactivated---->取消窗口选中") ; } public void windowDeiconified(WindowEvent e) { System.out.println("windowDeiconified---->窗口从最小化恢复") ; } public void windowIconified(WindowEvent e) { System.out.println("windowIconfied---->窗口最小化") ; } public void windowOpened(WindowEvent e) { System.out.println("WindowOpened---->窗口打开") ; } } ;class Tester{ public static void main(String args[]) { JFrame frame = new JFrame("窗口监听") ; frame.addWindowListener(new MyWindowEventHandle()) ; frame.setSize(500,500) ; frame.setBackground(Color.orange) ; frame.setLocation(400,400) ; frame.setVisible(true) ; }}
这样写显然太过冗余,下面介绍窗口监听适配器:如果只需要监听窗口关闭这一个动作,使用接口会造成代码过于冗余,因为要覆写WindowListener各个方法,这里就引出WindowAdapter设计模式,当然可以直接匿名内部类省去创建监听类的麻烦。直接上代码:这样就可以想监听什么就写什么,不需要写一堆冗余代码
import java.awt.event.WindowListener ;import java.awt.event.WindowEvent ;import java.awt.event.WindowAdapter ; //适配器设计模式import java.awt.Color ;import javax.swing.JFrame ;class Tester{ public static void main(String args[]) { JFrame frame = new JFrame("匿名内部类") ; frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.out.println("窗口关闭") ; System.exit(1) ; } } ) ; //匿名内部类配合适配器 frame.setSize(400,400) ; frame.setLocation(400,400) ; frame.setVisible(true) ; }}
0 0
- WindowListener(附带适配器改良方案)
- 按键监听类KeyListener及适配器改良方案
- WindowListener
- awt--WindowListener ---引出下一节事件适配器
- 大中型进销存改良方案
- 鼠标监听类适配器改良
- 番茄钟工作法--缺陷与改良方案
- Unity3d路径巡游(改良)
- 高精度加减法(改良版)
- 关于WindowListener的使用
- WindowListener,MouseListener,KeyListener,MouseMotionListener
- WindowListener 窗体监听器
- 关于WindowListener的使用
- 树莓派3无屏幕折腾#附带uart问题解决方案
- 希尔排序(插入排序的改良)
- 堆排序(改良的选择排序)
- rman备份脚本(改良版)
- 1015 计算器的改良(维基oi)
- 透明度与十六进制代码转换
- java7读取文件大小
- socket通信
- Error和Execption的区别
- scrapy关于tbody标签的问题
- WindowListener(附带适配器改良方案)
- ClipCursor() -- 限制鼠标活动区域
- IOS开发证书问题和SVN工程迁移环境问题
- svn检出项目提示该文件不存在或者更换用户
- Win8Metro(C#)数字图像处理--2.3图像反色
- [yc]详解link
- 获取图片绝对路径 采集图片用到(PHP代码函数)
- Objective-C——了解Block(一)
- 揭露骗子会议CSDHA