삶 가운데 남긴 기록 AACII.TISTORY.COM
[SWT/JFace] Display 클래스, Shell 클래스, 메시지 박스 예제 본문
Display class
Display 클래스가 외관을 보여주는 역할을 하지는 않지만 GUI 자원을 관리하고 운영체제와 소통을 담당합니다.
코드에 있는 SWT/JFace 명령들을 운영체제에 호환되도록 바꾸어 전달하는 일을 합니다.
주요 메소드
- Display() : 플랫폼 자원을 할당하고 Display 객체를 생성.
- getCurrent() : 사용자 인터페이스 스레드를 반환.
- readAndDispatch() : Display 객체가 이벤트를 해석해서 리스너로 넘겨 줌.
- sleep() : Display 객체가 이벤트를 기다림.
Shell class
Shell 클래스의 인스턴스는 위젯, 이벤트들과 연동하며, 시각적인 부분을 구현합니다.
운영체제에 접근하기는 하지만 윈도우 열기, 활성화, 최대화, 윈도우 닫기를 추적할 때만 접근합니다.
모든 SWT/JFace application은 메인 Shell 객체(최상위 Shell) 위에 위젯을 올리지만, application에 다른 shell이 존재할 수도 있습니다.
이 shell 인스턴스는 여러 속성들이 있고 사용자들이 상태를 변경 할 수 있습니다.
Shell은 인자 값으로 display객체를 받습니다.
shell, 위젯들의 스타일 정보를 상수값(스타일 비트)을 설정 할 수 있습니다.
메시지 박스 예제
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
public class SWTMessageBox{
public static void main(String[] args) {
//디스플레이 객체 획득
Display display = new Display();
//shell 객체 획득
Shell shell = new Shell(display);
// MessageBox 생성: infomation아이콘, ok버튼
// 위젯들은 shell의 하위 요소들이다.
MessageBox messageBox = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
// MessageBox에 표시할 메시지 설정
messageBox.setText("알림"); //제목
messageBox.setMessage("이것은 SWT MessageBox 예제입니다."); //내용
// MessageBox를 표시하고 사용자의 응답을 기다림. 응답 값은 정수형.
// shell의 open()메서드를 이용해서 창을 열 수 있다.
int response = messageBox.open();
// 사용자가 확인(OK) 버튼을 클릭한 경우
if (response == SWT.OK) {
System.out.println("사용자가 확인 버튼을 클릭했습니다.");
}
//로드 된 리소스 정리
display.dispose();
}
}
728x90
'DEV&OPS > Java' 카테고리의 다른 글
String을 QR코드로 변환 com.google.zxing 라이브러리 (85) | 2024.01.19 |
---|---|
[SWT/JFace] 모델 기반 어댑터 (76) | 2024.01.18 |
[SWT/JFace] 이클립스 플러그인 개발 환경 설정 (3) | 2024.01.16 |
JAVA 애플리케이션 실행 옵션 (3) | 2024.01.15 |
JAVA 운영체제의 경로 방식과 관계 없이 파일 저장 (1) | 2024.01.15 |