zoukankan      html  css  js  c++  java
  • atitit.窗体静听esc退出本窗体java swing c# .net php

    atitit.窗体静听esc退出本窗体java swing c# .net php 

    1. 监听esc  按键 1

    1.1. 监听一个组件 1

    1.2. 监听加在form 1

    2. 关闭窗体 2

    1. 监听esc  按键

    1.1. 监听一个组件

    1.2. 监听加在form

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    final Toolkit toolkit = Toolkit.getDefaultToolkit();

                        toolkit.addAWTEventListener(new AWTEventListener(){

                                @Override public void eventDispatched(AWTEvent e){

                                    if (e.getID() == KeyEvent.KEY_PRESSED) {

                                        KeyEvent evt = (KeyEvent) e;

                                        if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {

                                            frame.dispose();

                                            System.exit(0);

                                        }

                                    }

                                }

                            },AWTEvent.KEY_EVENT_MASK);

    Java code
    Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener(){
        .............
    });


    这个办法最好。监听了所有事件。不管是在哪个componet上,button,form等..

    这个不起作用,可能focus到个一个组件上栏。。三,这个only不个事件捆绑到个frm上兰..

    //        frame.addKeyListener(new KeyAdapter() {

    //            @Override

    //            public void keyPressed(KeyEvent e) {

    //                if (KeyEvent.VK_ESCAPE == e.getKeyCode()) {

    //                   // System.exit(0);

    //                System.out.println("---colose...");

    //                frame.dispose();

    //                }

    //            }

    //        });

    2. 关闭窗体

     

    只要在每个Frame里设定this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);即可。

    EXIT_ON_CLOSE,关闭程序。(所有窗口和进程都会关闭)

    DISPOSE_ON_CLOSE,只关闭本窗口。

    HIDE_ON_CLOSE,只隐藏本窗口,不关闭。

    DO_NOTHING_ON_CLOSE,不做任何事,点击关闭无效。

     

    这很简单,只要调用dispose方法即可。隐藏是setVisible(false)。关闭程序是System.exit(0);

     

    frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

     if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {

                                frame.dispose();

                            //    System.exit(0);

                            }

     

     

    参考

    java怎么样通过按钮关闭一个JFrame_百度知道.htm

  • 相关阅读:
    Spring_HelloWorld
    【日记想法】2017年终总结
    【运维技术】从零开始搭建开发使用的Kafka环境
    【运维技术】windows安装apache服务器,实现域名对应端口的解析跳转
    【软件安装】Xshell + XFtp
    【运维技术】node项目使用strongloop进行部署相关教程
    【运维技术】CentOS7上从零开始安装LAMP安装织梦DedeCMS教程
    【运维技术】CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】
    【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】
    【读书笔记】Junit实战
  • 原文地址:https://www.cnblogs.com/attilax/p/5963730.html
Copyright © 2011-2022 走看看