Dialog에서 ESC 키 이벤트 수신
예제 코드는 다음과 같습니다.
package com.michaelx.swing.dlg;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JRootPane;
import javax.swing.KeyStroke;
/**
*@author mengke
*@email [email protected]
*@version 1.0
*@date 2011-10-22 12:23:36
*@project myswing
*/
public class EscapeDialog extends JDialog {
private static final long serialVersionUID = 1L;
public EscapeDialog(Dialog d){
super(d);
}
public EscapeDialog(Window w){
super(w);
}
/**
* 。 ESCAPE
*/
@Override
protected JRootPane createRootPane(){
KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0);
JRootPane rootPane = new JRootPane();
rootPane.registerKeyboardAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
escapeKeyProc();
}
},stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
return rootPane;
}
/**
* ESCAPE 。 , 。
*/
protected void escapeKeyProc(){
setVisible(false);
}
public static void main(String[] args){
EscapeDialog dlg = new EscapeDialog(null);
dlg.setSize(new Dimension(200,300));
dlg.setVisible(true);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[TIL] #8. 프로그래머스 String, Date전달받은 문자열의 길이를 반환한다. 만약 전달받은 문자열 중 하나라도 NULL이 존재하면, NULL을 반환한다. 인수로 전달받은 문자열이 특정 문자열에서 처음 나타나는 위치를 찾아서, 해당 위치를 반환한다. 만약 전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.