대화창은  흔히 쓰는 디렉토리 선택, 파일불러오기,파일저장하기, 색선택등등의 대화창을 말한다.

먼저 계층도를 살펴보자

Dialog의 세부 하위 구성

ㅁ 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

+ Recent posts