• 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

  • 相关阅读:
    C# listView载入图片以大图标方式显示
    判断序列是否对称
    非走不可的弯路
    张国荣的《我》
    函数:找出一句话中的第二个单词
    压缩与解压缩示例:游标编码(runlength encoding)
    前行
    书单
    一个数组中的元素头尾两端依次对调
    第一遍读书笔记
  • 原文地址:https://www.cnblogs.com/attilax/p/5963730.html
Copyright © 2020-2023  润新知