본문 바로가기

자바공부

자바 고급 스윙 컴포넌트, 팝업 다이얼로그

728x90
반응형

* 자바에서 이미 만들어놓은 유용한 다이얼로그가 많이 있다.

 

* 팝업 다이얼로그는 자바의 스윙에서 이미 구현해놓은 간단한 팝업 창으로 사용자에게 메시지를 전달하거나 간단한 문자열을 입력받을 수 있는 유용한 다이얼로그이다.

 

* JOptionPane 클래스는 팝업 다이얼로그를 생성할 수 있는 static 메소드를 여러 개 지원한다. 팝업 다이얼로그는 모두 모달 타입이다. 그러므로 팝업 다이얼로그를 닫기 전에는 프로엠 혹은 다른 창으로 이동할 수 없다. 

 

* 많이 사용되는 3가지 팝업 다이얼로그

1) 입력 다이얼로그, JOptionPane.showInputDialog()

JOptionPane의 showInputDialog() 메소드를 호출하면 한 줄의 문자열을 입력받는 입력 다이얼로그를 생성할 수 있다.

static String JOptionPane.showInputDialog(String msg)
// msg : 다이얼로그 메시지
// 리턴 값 : 사용자가 입력한 문자열. 취소 버튼이 선택되거나 창이 닫히면 null 리턴

String name = JOptionPane.showInputDialog("이름을 입력하세요.");
// name에 "Java Kim"이 리턴
// 사용자가 입력 없이 팝업 다이얼로그를 닫으면 null 리턴

2) 확인 다이어로그, JOptionPane.showConfirmDialog()

사용자로부터 확인 받기 위한 팝업 다이얼로그를 생성하는 showConfirmDialog() 메소드

static int JOptionPane.showConfirmDialog(Component parentComponent, Object msg, String title, int optionType)
// parentComponent : 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정을 위해 사용(예: 프레임). null이면 전체 화면 중앙에 출력
// msg :  다이얼로그 메시지
// title : 다이얼로그 타이틀
// optionType : 다이얼로그 옵션 종류 지정
//	YES_NO_OPTION, YES_NO_CANCLE_OPTION, OK_CANCEL_OPTION
// 리턴 값 : 사용자가 선택한 옵션 종류
// YES_OPTION, NO_OPTION, CANCLE_OPTION, OK_OPTION, CLOSED_OPTION

int result = JOptionPane.showConfirmDialog(nu,, "계속할 것입니까?, "Confirm", JOptionPane.YES_NO_OPTION);
if (result == JOptionPane.CLOSE_OPTION){
	// 사용자가 "예" 혹은 "아니오"의 선택 없이 다이얼로그 창을 닫은 경우
}
else if (resu;t == JOptionPane.YES_OPTION){
	// 사용자가 "예"를 선택한 경우
}
else {
	// 사용자가 "아니요"를 선택한 경우
}

 

3) 메시지 다이얼로그, JOptionPane.showMessageDialog()

사용자에게 문자열 메시지를 전달하기 위한 메시지 다이얼로그는 showMessageDialog()메소드를 이용하여 생성한다.

static void JOptionPane.showMessageDialog(Component parentComponent, Object msg, String title, int messageType)
// parentComponent : 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정을 위해 사용(예: 프레임). null이면 전체 화면 중앙에 출력
// msg : 다이얼로그 메시지
// title : 다이얼로그 타이틀
// messageType : 다이얼로그의 종류로서 다음 중 하나
// ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QEUSTION_MESSAGE, PLAIN_MESSAGE

ERROR MESSAGE 타입의 메시지 다이얼로그를 생성한 사례

JOptionPane.showMessageDialog(null, "조심하세요", "Message", JOptionPane.ERROR_MESSAGE);

 

반응형