Heim  >  Artikel  >  Backend-Entwicklung  >  atitit.窗体静听esc退出本窗体java swing c# .net php

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

WBOY
WBOYOriginal
2016-06-23 13:38:271188Durchsuche

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

 

 

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

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn