记录一下便于自己查看

1.WindowListener

java.awt.event
接口 WindowListener

public interface WindowListener
extends
EventListener

用于接收窗口事件的侦听器接口。旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。然后使用窗口的 addWindowListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。

windowOpened

void windowOpened(WindowEvent e)
窗口首次变为可见时调用。

windowClosing

void windowClosing(WindowEvent e)
用户试图从窗口的系统菜单中关闭窗口时调用。

windowClosed

void windowClosed(WindowEvent e)
因对窗口调用 dispose 而将其关闭时调用。

windowIconified

void windowIconified(WindowEvent e)
窗口从正常状态变为最小化状态时调用。对于很多平台而言,已最小化的窗口将显示为窗口 iconImage 属性中所指定的图标。

windowDeiconified

void windowDeiconified(WindowEvent e)
窗口从最小化状态变为正常状态时调用。

windowActivated

void windowActivated(WindowEvent e)
将 Window 设置为活动 Window 时调用。只有框架或对话框可以成为活动 Window。本机的窗口系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。
windowDeactivated

void windowDeactivated(WindowEvent e)
当 Window 不再是活动 Window 时调用。只有框架或对话框可以成为活动 Window。本机的窗口操作系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。

1.实现WindowListener接口

 package tst;

 import java.awt.TextArea;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; import javax.swing.JFrame; public class Test {
final static int x=100;
final static int y=50;
final static int width=500;
final static int height=300;
static TextArea text;
public static void main(String[] args) {
// TODO Auto-generated method stub
text=new TextArea();
JFrame f = new JFrame();
f.add(text);
f.setTitle("Closing Frame with Window Listener");
f.setBounds(x,y,width,height);
f.addWindowListener(new MyWindowListener());
f.setVisible(true);
} static class MyWindowListener implements WindowListener { @Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowOpened");
text.setText("窗口首次变为可见时调用");
} @Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowClosing");
text.setText("用户试图从窗口的系统菜单中关闭窗口时调用");
} @Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowClosed");
text.setText("因对窗口调用 dispose 而将其关闭时调用");
} @Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowIconified");
text.setText("窗口从正常状态变为最小化状态时调用");
} @Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowDeiconified");
text.setText("窗口从最小化状态变为正常状态时调用");
} @Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowActivated");
text.setText("将 Window 设置为活动 Window 时调用");
} @Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowDeactivated");
text.setText("当 Window 不再是活动 Window 时调用");
} } }

2.继承WindowAdapter

java.awt.event
类 WindowAdapter

public abstract class WindowAdapter
extends
Object
implements
WindowListener,
WindowStateListener,
WindowFocusListener

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

扩展此类可创建 WindowEvent 侦听器并为所需事件重写该方法。(如果要实现 WindowListener 接口,则必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。)

使用扩展的类可以创建侦听器对象,然后使用窗口的 addWindowListener 方法向该窗口注册侦听器。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。

void windowActivated(WindowEvent e)
激活窗口时调用。
void windowClosed(WindowEvent e)
当窗口已被关闭时调用。
void windowClosing(WindowEvent e)
窗口正处在关闭过程中时调用。
void windowDeactivated(WindowEvent e)
停用窗口时调用。
void windowDeiconified(WindowEvent e)
取消图标化窗口时调用。
void windowGainedFocus(WindowEvent e)
该 Window 被设置为聚焦 Window 时调用,聚焦 Window 意味着该 Window 或其某个子组件将接收键盘事件。
void windowIconified(WindowEvent e)
图标化窗口时调用。
void windowLostFocus(WindowEvent e)
该 Window 不再为聚焦 Window 时调用,不再为聚焦 Window 意味着键盘事件不再传递到该 Window 或其任意子组件。
void windowOpened(WindowEvent e)
已打开窗口时调用。
void windowStateChanged(WindowEvent e)
窗口状态改变时调用。

 package tst;

 import java.awt.TextArea;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Test {
final static int x=100;
final static int y=50;
final static int width=500;
final static int height=300;
static TextArea text;
public static void main(String[] args) {
// TODO Auto-generated method stub
text=new TextArea();
JFrame f = new JFrame();
f.add(text);
f.setTitle("Closing Frame with Window Listener");
f.setBounds(x,y,width,height);
f.addWindowListener(new MyWindowListener());
f.setVisible(true);
} static class MyWindowListener extends WindowAdapter { @Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowOpened");
text.setText("窗口首次变为可见时调用");
} @Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowClosing");
text.setText("用户试图从窗口的系统菜单中关闭窗口时调用");
} @Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowClosed");
text.setText("因对窗口调用 dispose 而将其关闭时调用");
} @Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowIconified");
text.setText("窗口从正常状态变为最小化状态时调用");
} @Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowDeiconified");
text.setText("窗口从最小化状态变为正常状态时调用");
} @Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowActivated");
text.setText("将 Window 设置为活动 Window 时调用");
} @Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("windowDeactivated");
text.setText("当 Window 不再是活动 Window 时调用");
} } }

总结一下WindowListener的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. [转]BFC 神奇背后的原理

    BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等).虽然我知道如何利用 BFC 解决这些问题, ...

  2. thinkjs,promise

    thinkjs是奇舞团开源的一款NodejsMVC框架,该框架底层基于Promise来实现,很好的解决了Nodejs里异步回调的问题. 可参考: http://www.thinkjs.org/ htt ...

  3. Html5 canvas 元素

    canvas 元素用于在网页上绘制图形. 什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canv ...

  4. LINUX socket网络编程

    1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 U ...

  5. hadoop之一:概念和整体架构

    什么是hadoop? Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架.它支持在商品硬件构建的大型集群上运行的应用程序.Hadoop是根据Go ...

  6. 【hdu4570】Multi-bit Trie 区间DP

    标签: 区间dp hdu4570 http://acm.hdu.edu.cn/showproblem.php?pid=4570 题意:这题题意理解变态的.转自大神博客: 这题题意确实有点难懂,起码对于 ...

  7. 4.ctf实战题

    一道ctf实战题. 先亮出网址: http://fb2ad00f-0a28-4e38-8fff-849d7391e2d0.coding.io 打开连接,看到下面页面.Web题,首先就是扫描(御剑啊还有 ...

  8. Vue.js中,如何自己维护路由跳转记录?

    在Vue的项目中,如果我们想要做返回.回退操作时,一般会调用router.go(n)这个api,但是实际操作中,使用这个api有风险,就是会让用户跳出当前应用,因为它记录的是浏览器的访问记录,而不是你 ...

  9. OpenGL学习笔记——求值器和NURBS

    http://codercdy.com/openglxue-xi-bi-ji-qiu-zhi-qi-he-nurbs/ 在最底层,图形硬件所绘制的是点.直线和多边形(通常是三角形和四边形).平滑的曲线 ...

  10. tarjan求强连通分量的思考

    我是按照这里的思路来的.这个博文只是感性理解. 递归树 关于递归树,这篇博文讲的很好,我只是给自己总结一下. 定义vis数组,在dfs连通图时赋予它们不同的含义: vis=0,表示这个点没有被访问. ...