JavaSE 窗口事件类(WindowEvent)实现

{相关信息}
窗口事件(WindowEvent)指窗口状态改变的事件,例如当窗口 Window 对象的打开、关闭、激活、停用或者焦点转移到窗口内,
以及焦点移除而生成的事件,一般发生在 Window、Frame、Dialog 等类的对象上。使用窗口事件必须为组件添加一个实现 WindowListener 接口的事件处理器,该接口包含以下 7 种方法:
void windowActivated(WindowEvent e):窗口被激活时发生
void windowClosed(WindowEvent e):窗口关闭之后发生
void windowClosing(WindowEvent e):窗口关闭过程中发生
void windowDeactivated(WindowEvent e):窗口不再处于激活状态时发生
void windowDeiconified(WindowEvent e):窗口大小从最小到正常时发生
void windowIconified(WindowEvent e):窗口从正常到最小时发生
void windowOpened(WindowEvent e):窗口第一次被打开时发生

{相关代码}

package sup.orange.learn;

import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

/**
 * Created by re-x on 11/2/14.
 */
public class WindowEventDemo extends Frame {

    String string = null;

    public WindowEventDemo () {
        super();
        init();
    }

    public static void main(String[] args) {
        new WindowEventDemo();
    }

    public void init() {
        addWindowListener(new WindowListener() {
            @Override
            public void windowOpened(WindowEvent e) {
                string = "window opened";
                System.out.println(string);
                repaint();
            }

            @Override
            public void windowClosing(WindowEvent e) {
                string = "window closing";
                System.out.println(string);
                setVisible(false);
                dispose();
                System.exit(0);
            }

            @Override
            public void windowClosed(WindowEvent e) {
                string = "window closed";
                System.out.println(string);
                repaint();
            }

            @Override
            public void windowIconified(WindowEvent e) {
                string = "window iconified";
                System.out.println(string);
                repaint();
            }

            @Override
            public void windowDeiconified(WindowEvent e) {
                string = "window deiconified";
                System.out.println(string);
                repaint();
            }

            @Override
            public void windowActivated(WindowEvent e) {
                string = "window activated";
                System.out.println(string);
                repaint();
            }

            @Override
            public void windowDeactivated(WindowEvent e) {
                string = "window deactivated";
                System.out.println(string);
                repaint();
            }
        });

        setSize(200, 200);
        setVisible(true);

    }

    public void paint(Graphics g) {
        g.drawString(string, 30, 100);
    }
}
时间: 2024-07-29 02:29:28

JavaSE 窗口事件类(WindowEvent)实现的相关文章

JavaSE 键盘事件类(KeyEvent)实现

{相关信息}键盘事件类(KeyEvent)是容器内的任意组件获得焦点时,组件发生键击事件,当按下释放或键入某一个键时,组件对象将产生该事件.使用键盘事件必须给组件添加一个KeyListener 接口的事件处理器,该接口包含以下 3 个方法:void keyPressed(KeyEvent e):按下按键时发生.void keyReleased(KeyEvent e):松开按键时发生.void keyTyped(KeyEvent e):敲击键盘,发生在按键按下后,按键放开前. {效果图} {实现代

JavaSE 项目事件类(ItemEvent)

{相关信息}项目事件类(ItemEvent)是指某一个项目被选定.取消的语义事件.选择 CheckBox.ComboBox.List .Choice等组件的时候将产生项目事件.使用项目事件必须给组件添加一个实现ItemListener 接口的事件处理器,该接口的方法如下:void itemStateChange(ItemEvent e) {具体实例描述}功能描述,每选中一个项目便在文本区显示相关信息,如下: {具体实例代码} package sup.orange.learn; import ja

JavaSE 鼠标事件类(MouseEvent)实现

{相关信息}鼠标事件类(MouseEvent)指组件中发生的鼠标动作事件,例如按下鼠标.释放鼠标.单击鼠标.鼠标光标进入或离开组件的几何 图形.移动鼠标.拖动鼠标.当鼠标移动到某个区域或鼠标单击某个组件时就会触发鼠标事件.使用鼠标事件必须给组件添加一个MouseListener 接口的事件处理器,该接口包含以下 5 个方法:void mouseClicked(MouseEvent e):当鼠标在该区域单击时发生void mouseEntered(MouseEvent e):当鼠标进入该区域时发生

Tkinter类之窗口部件类

Tkinter类之窗口部件类 Tkinter支持15个核心的窗口部件,这个15个核心窗口部件类列表如下: 窗口部件及说明: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件. Checkbutton:代表一个变量,它有两个不同的值.点击这个按钮将会在这两个值间切换. Entry:文本输入域. Frame:一个容器窗口部件.帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组

iOS:触摸控件UITouch、事件类UIEvent

UITouch:触摸控件类   UIEvent:事件类 ??????UITouch的介绍?????? 一.触摸状态类型枚举 typedef NS_ENUM(NSInteger, UITouchPhase) { UITouchPhaseBegan,             // 开始触摸 UITouchPhaseMoved,             // 触摸移动 UITouchPhaseStationary,       // 触摸没有移动 UITouchPhaseEnded,        

QT父子窗口事件传递与事件过滤器(讲了一些原理,比较清楚)

处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现了事件方法,就直接处理掉事件了,没有进到MainWidget的处理方法中去,如果子Widget没有accept或ignore该事件,则该事件就会被传递给其父亲,在子Widget存在accept或ignore事件的时候,想要经过一下MainWidget的处理方法,就得用到事件处理器,因此网上找了一下,

好记性不如烂笔头35-java监听windows窗口事件Listener(2)

java监听windows窗口事件,现在几乎用的很少了. 当初我还在大学求学的时候,刚开始学习JAVA,对于它监听windows窗口事件,其实花费了非常多的精力.自己不是一个很机灵的人,很多的概念怎么看也不是很明白,很多的逻辑只能靠死记硬背,很多的概念记住了很快又忘记了- 当年的JAVA,还是没有放弃桌面应用这个领域,这些年过去了,java在PC的桌面应用上几乎是一败涂地,倒是在互联网和移动设备上大放光彩,至少这些,是我当初学习的时候不曾想到的. 这种类似的功能,现在几乎已经基本没有了用武之地.

Java 界面-焦点事件类

[ 相关信息]焦点事件类(FocusEvent)是指用户程序界面的组件失去焦点(即焦点从一个对象转移到另外一个对象)时,就会发生焦点事件.使用焦点事件必须给组件增加一个 FocusListener 接口的事件处理器,该接口包含以下两个方法:1)void focusGained(FocusEvent e):当获得焦点时发生.2)void focusLost(FocusEvent e):当失去焦点时发生. [具体程序实现] package sup.orange.learn; import java.

BOM,文档宽高及窗口事件

(一)BOM:Browser Object Model(浏览器对象模型)页面上所有的变量都是window的属性 一.方法:1. open(,)打开一个新窗口(页面)一参为页面地址url,二参为打开方式如果url为空,默认打开一个空白页面如果打开方式为空,默认打开新窗口方式打开返回值:发挥新打开的窗口的window对象 2. close(,)关闭窗口,前边对象是谁关闭谁兼容:(1)火狐ff:默认无法关闭(2)Chorme:默认直接关闭(3)ie:询问用户可以关闭在本窗口中通过js方法打开的新窗口