我在几个论坛中找到了这个代码来关闭ESC按键上的一个框架。但是,我很困惑重新考虑在哪里放置这些代码
KeyStroke escape = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
Action action = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
jDesktopPane1.getSelectedFrame().dispose();
}
};
jDesktopPane1.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
escape,"escape");
jDesktopPane1.getActionMap().put("escape", action);
任何帮助将不胜感激。
答案 0 :(得分:0)
无论您在何处初始化jDesktopPane1,都可以在此之后将其绑定并将其绑定到它。如果您的窗格有init()
方法,请将其放在那里以便绑定。
答案 1 :(得分:-2)
我们必须在java组件中添加一个关键监听器,如frame。或者在你的情况下jdesktoppane。 对于示例框架的构造函数,
this.addKeyAdapter(
new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.getKeyChar()==VK_ESCAPE)
this.dispose();
}
});