대화창은 흔히 쓰는 디렉토리 선택, 파일불러오기,파일저장하기, 색선택등등의 대화창을 말한다.
먼저 계층도를 살펴보자
ㅁ ColorDialog
ColorDialog dialog = new ColorDialog(shell);
RGB color = dialog.open();
if (color != null){
System.out.println("RGB color"+color.toString());
}else {
System.out.println("RGB color null");
}
ㅁ DirectoryDialog
DirectoryDialog dialog = new DirectoryDialog(shell);
dialog.setMessage("Choose a save directory");
String savetarget= dialog.open();
if (savetarget != null){
System.out.println("savetarget:"+savetarget);
}else {
System.out.println("savetarget null");
}
ㅁ File Open
FileDialog dialog = new FileDialog(shell,SWT.OPEN | SWT.MULTI); //SWT.SAVE, SWT.OPEN,SWT.MULTI 등등 있다
dialog.setFilterExtensions(new String[] {"*.txt;*.doc"});
dialog.open();
String [] savetarget= dialog.getFileNames();
if (savetarget != null){
System.out.println("OPEN FIle List:"+Arrays.toString(savetarget));
}else {
System.out.println("OPEN FIle List null");
}
ㅁ File SAVE
FileDialog dialog = new FileDialog(shell,SWT.SAVE | SWT.MULTI);
//SWT.SAVE, SWT.OPEN,SWT.MULTI 등등 있다
dialog.setFilterExtensions(new String[] {"*.txt;*.doc"});
//dialog.setFilterPath(string);
//dialog.setFileName(string);
dialog.open();
//dialog.getFileName();
String savetarget= dialog.getFileName();;
if (!savetarget.equals("")){
System.out.println("SAVE FIle :"+savetarget);
System.out.println("getFilterPath:"+dialog.getFilterPath());
System.out.println("getOverwrite :"+dialog.getOverwrite());
}else {
System.out.println("SAVE FIle null");
}
ㅁ FontDialog
FontDialog dialog = new FontDialog(shell); //SWT.SAVE, SWT.OPEN,SWT.MULTI 등등 있다
dialog.open();
if (dialog != null){
System.out.println("getEffectsVisible:"+dialog.getEffectsVisible());
System.out.println("getText :"+dialog.getText());
System.out.println("getStyle :"+dialog.getStyle());
System.out.println("getFontData :"+dialog.getFontData());
System.out.println("getFontList :"+Arrays.toString(dialog.getFontList()));
}else {
System.out.println("FontDialog null");
}
ㅁ MessageBox
/* 버튼 타입
SWT.OK
SWT.OK | SWT.CANCEL
SWT.YES | SWT.NO
SWT.YES | SWT.NO | SWT.CANCEL
SWT.RETRY | SWT.CANCEL
SWT.ABORT | SWT.RETRY | SWT.IGNORE*/
/*아이콘타입
SWT.ERROR_ICON
SWT.ICON_INFOMATION
SWT.ICON_QUESTION
SWT.ICON_WARNING
SWT.ICON_WORKING
*/
MessageBox dialog = new MessageBox(shell,SWT.YES | SWT.NO);
dialog.setMessage("내용부분");
dialog.setText("타이틀");
int returnVal = dialog.open();
System.out.println("returnVal :"+returnVal); //각상수로 비교하여 사용한다
if (returnVal==SWT.YES) {
//..
}
참고로 Jface에서는 Message Dialog많이 환경설정과 관련된 Dialog들이 추가로 제공해주고 있다
'IT > RCP' 카테고리의 다른 글
[SWT] 클립보드 (0) | 2020.12.19 |
---|---|
[SWT] Drag & Drop (0) | 2020.12.19 |
[SWT] Layout (0) | 2020.12.19 |
[SWT] 이벤트 (0) | 2020.12.19 |
[SWT] 기본정보(구성,환경,위젯정보) (0) | 2020.12.19 |