JOptionPane의 확인창 변형 쯤으로 볼 수 있는 showOptionsDialogs(옵션창, 옵션 버튼창)에 대해 자세히 살펴보겠습니다.
(이전글 -자바 스윙(Java Swing, AWT 등)에서 알림창 띄우기 JOptionPane 1. 종합편)

※ 옵션창 띄우기 - JOptionPane 5. showOptionDialog

JOptionPane 클래스 패키지를 import 해야합니다. 자바 소스 코드 최상단에 다음 import 문을 추가합니다.

import javax.swing.JOptionPane;


※ showOptionDialog 메소드 함수 형태

- 리턴값(static int) : 사용자의 확인 버튼 선택값을 되돌려줍니다.
CLOSED_OPTION - 종료(X) 버튼으로 창을 닫은 경우. CANCEL / NO와 비슷하게 처리해줘야합니다.
YES_OPTION - 예(YES) 버튼 선택시 리턴값
NO_OPTION - 아니오(NO) 버튼 선택시
CANCEL_OPTION - 취소(CANCEL) 버튼 선택시
OK_OPTION - 확인(OK) 버튼 선택시

- 메소드 함수 형태
showOptionDialog( Component parentComponent, Object message,
String title, int optionType, int messageType, Icon icon,
Object[] options, Object initialValue)


※ 매개변수(파라메터, Parameter) 설명

- Component parentComponent
메시지창 다이얼로그가 어떤 Frame에서 나타나게 될 것인지를 정해주는 변수. null 값이거나 설정해준 값에 Frame이 없다면 기본값 Frame(default Frame)이 지정됩니다. 쉽게 null 로 둬도 될 것 같네요.

- Object message
출력할 Object 클래스형 개체. 주로 문자열 메시지를 출력할 것이므로, 간단하게 그냥 출력할 문자열 자체를 써주면 됩니다. 문자열을 여러줄에 걸쳐서 표현하고 싶다면 newline에 해당하는 escape 문자열(" \n ")을 써주면됩니다.

- String title
메시지창 상단 제목표시줄에 나타낼 알림창 제목입니다.

- int optionType
사용자의 대답 선택 버튼을 어떻게 표현할 것인가 결정합니다. "예", "아니오", "취소" 버튼을 어떤 식으로 배치할 지 결정합니다.
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION

- int messageType
알림창의 메시지 종류를 정해줍니다. 여기서 정해주는 메시지 종류에 따라 자동으로 지정된 아이콘이 표시됩니다.
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE

아이콘 없음 :
PLAIN_MESSAGE

- Icon icon
Icon 클래스를 통해서 직접 정해줄 수도 있습니다. 아이콘 클래스는 제가 잘 모르겠네요 죄송^^ 웬만하면 위 메시지 종류 선택으로 적당히 커버는 될 겁니다. 직접 사용자 아이콘을 정해주려면 Icon 클래스 관련 내용을 공부하셔야 할 거 같네요. null 로 해두면 기본값이 출력됩니다.

- Object[] options
예, 아니오, 취소(YES,NO,CANCEL) 버튼에, 다른 문자를 넣습니다. 문자열 배열 3개 짜리로 각 문자열을 지정해줄 경우, YES/NO/CANCEL 대신 지정해둔 문자가 버튼으로 출력됩니다. 자세한 사용 예제는 아래를 참고하세요.

- Object initialSelectionValue
여러개의 버튼 중 어느 버튼을 초기값으로 선택해 줄 것인지 결정합니다. 확인창이 처음 뜰 때, 보통 점선으로 표시된 기본 커서가 어느 버튼 중 하나에 올라가 있죠. 그 위치를 정해줍니다.

※ 사용 예제

String[] buttons = {"첫번째값", "두번째값", "세번째값"};
result = JOptionPane.showOptionDialog(null, "options를 이용해서\n버튼을 여러개 만들어봅니다.", "제목표시줄", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, buttons, "두번째값");

 

다른 메소드의 옵션 및 사용법은 아래 링크의 다른 글을 참고하세요.

※ 자바 스윙 프로그래밍 - 알림창, 경고창, 확인창, 질문창 띄우기
- JOptionPane 1. 종합편
- JOptionPane 2. 알림 메시지 창 띄우기 상세 설정 showMessageDialog
- JOptionPane 3. 확인창 띄우기 상세 설정 showConfirmDialog
- JOptionPane 4. 입력창 띄우기 상세 설정 showInputDialog

Posted by 할랑할랑

댓글을 달아 주세요

  1. 와우 2016.05.18 11:45 신고  댓글주소  수정/삭제  댓글쓰기

    굿굿

  2. 대박 2018.03.29 16:15 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다!!! 도움이 많이 됐습니다 ㅎㅎㅎㅎ