dispose() 를 날려서 프로그램을 종료하고 싶을때 Try 로 보낼것인지 아니면 완전히 종료할것인지에
대한 선택권을 사용자에게 주고 싶은 목적에 종료시점에서 분기를 하려고한다.
그럴려면 종료시점의 함수로 가서 처리를 해주면되는데 그것을 설정하는 방법에 대해 기술한다.
인터페이스를 상속받게 되면 모든 클래스를 구현해야되지만 어댑터를 사용하게 되면 그 함수만
사용가능하게 된다. 나는 close 될때 일어나는 이벤트만 사용할것이기 때문이다.
그 기능을 해주는게 ShellAdapter 이다.
이기능은 main 의 NewSWTApp inst = new NewSWTApp(shell, SWT.NULL); 클래스 안에
구현을 해놓았다.
// Main Shell 각종이벤트 관리
getShell().addShellListener(new ShellAdapter(){
// 화면을 닫을건지에 대한 결정
public void shellClosed(ShellEvent e){
String title = "데몬 종료";
String message = "데몬을 종료하시겠습니까?";
int style = SWT.OK | SWT.CANCEL | SWT.ICON_QUESTION;
MessageBox dialog = new MessageBox(getShell(), style);
dialog.setText(title);
dialog.setMessage(message);
int flag = dialog.open();
if (flag == SWT.OK){
e.doit = true;
}else{
e.doit = false; // 종료를 멈춘다.
getShell().setVisible(false); // 화면을 안보이게 한다
// 트레이 처리
}
}
});
'자바(JAVA)' 카테고리의 다른 글
SWT 플러그인으로 파일자동생성시 swt-win32-3236 load error (0) | 2008.08.30 |
---|---|
properties 를 절대경로로 값을 읽거나 수정하는 기능 (0) | 2008.08.24 |
invoke 사용하여 동적으로 함수실행 (1) | 2008.08.24 |
오늘날짜를 포맷에 따라구하기 (1) | 2008.08.12 |
velocity 문법 간단 정리 (0) | 2008.08.09 |
테이블 컴퍼지트에서 체크박스넣기 (0) | 2008.08.07 |
JAVA System 설정값들 모두 가져오기 (0) | 2008.08.04 |
hibernate antlr/ANTLRException 에러 (0) | 2008.08.03 |