1 JOptionPane
"Java Swing"에 속한 클래스로서, 대화상자(Dialog)를 쉽고 간단하게 띄울 수 잇는 방법을 제공하는 클래스이다.
따라서 import 해준 후 사용해야 한다.
사용자가 입력한 문자열이 입력값으로 리턴되며, 취소 버튼이 선택되거나 창이 닫히면 null 리턴된다.
주요 메서드 4가지
1) JOptionPane.showInputDialog() : 입력 란이 있는 대화상자를 띄운다. 한 줄 입력(표시)
사용 : JOptionPane.showInputDialog(String msg);
1. String msg : 다이얼로그 메시지
2. 리턴 값 : 사용자가 입력한 문자열이 리턴, 취소 버튼이 선택되거나 창이 닫히면 null이 리턴
2) JOptionPane.showMessageDialog() : 메시지가 있는 대화상자를 띄운다.
사용 : JOptionPane.showMessageDialog(parentComponent, Object msg, String title, int messageType);
1. parentComponent : 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정을 위해 사용한다. null이면 화면 중앙에 출력.
2. Object msg (다이얼로그 메세지)
3. String title (다이얼로그 타이틀)
4. messageType (다이얼로그의 종류) : ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, PLAIN_MESSAGE
3) JOptionPane.showConfirmDialog() : (Y/N) 선택이 있는 대화상자를 띄운다.
사용 : JOptionPane.showConfirmDialog(parentComponent, Object msg, String title, int optionType);
1. parentComponent : 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정을 위해 사용한다. null이면 화면 중앙에 출력.
2. Object msg (다이얼로그 메세지)
3. String title (다이얼로그 타이틀)
4. int optionType (다이얼로그 옵션 종류) : YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION
5.리턴값 : 사용자가 선택한 옵션 종류 YES_OPTION, NO_OPTION, CANCEL_OPTION, OK_OPTION, CLOSED_OPTION
4) JOptionPane.showOptionDialog() : 선택지(option)가 있는 대화상자를 띄운다.
JOptionPane.showOptionDialog(parentComponent , Object msg, String title, int optionType , messageType, icon icon , Object[] options , Object initialValue);
1. parentComponent : 다이얼로그의 부모 컴포넌트로서 다이얼로그가 출력되는 영역의 범위 지정을 위해 사용한다. null이면 화면 중앙에 출력.
2. Object msg (다이얼로그 메세지)
3. String title (다이얼로그 타이틀)
4. int optionType (다이얼로그 옵션 종류) : DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, or OK_CANCEL_OPTION
5. messageType (다이얼로그의 종류) : ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
6. icon icon (다이얼로그에 나타낼 아이콘)
7. Object[] options : 예, 아니오, 취소(YES,NO,CANCEL) 버튼에, 다른 문자를 넣는다.. 문자열 배열 3개 짜리로 각 문자열을 지정해줄 경우, YES/NO/CANCEL 대신 지정해둔 문자가 버튼으로 출력된다.
8. Object initialValue : 여러개의 버튼 중 어느 버튼을 초기값으로 선택해 줄 것인지 결정. 확인창이 처음 뜰 때, 점선으로 표시된 기본 커서가 어느 버튼 중 하나에 올라가 있는데 그 위치를 정해준다.
2 다음은 JOptionPane를 이용한 예제이다.
1. JOptionPane.showInputDialog()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package java_practice;
import javax.swing.JOptionPane;
public class JOption {
public static void main(String[] args) {
// TODO Auto-generated method stub
String name = JOptionPane.showInputDialog("이름?"); // "YG입력"
System.out.println("이름은 " + name);
if(name==null) {
System.out.println("이름을 입력하지 않았습니다.");
}
// 문자열 --> 정수 : Integer.parseInt("19") --> 19
String s = JOptionPane.showInputDialog("나이는?"); // "19입력"
int age = Integer.parseInt(s); // "19"-->19 (문자열을 정수로)
System.out.println("나이는 " + age);
}
}
|
cs |
출력결과
이름은 YG
나이는 19
다음과 같은 대화상자가 뜬다.
tip 문자열을 정수로 바꾸는 방법 (Interger.parseInt();)
String s = 12345; // "12345"
int num = Integer.parseInt(s); // 12345
2. JOptionPane.showMessageDialog() , JOptionPane.showConfirmDialog()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package java_practice;
import javax.swing.JOptionPane;
public class JOption_Ex {
public static void main(String[] args) {
// TODO Auto-generated method stub
int result = JOptionPane.showConfirmDialog(null, "계속하시겠습니까?", "확인", JOptionPane.YES_NO_CANCEL_OPTION);
if (result==JOptionPane.YES_OPTION) { // 예를 눌렀을 경우
JOptionPane.showMessageDialog(null, "다음으로 넘어갑니다.");
}
else if(result==JOptionPane.NO_OPTION) { // 아니오를 눌렀을 경우
JOptionPane.showMessageDialog(null, "이전으로 돌아갑니다.");
}
else { // JOptionPane.CANCEL_OPTION, JOptionPane.CLOSED_OPTION
JOptionPane.showMessageDialog(null, "취소하시겠습니까?"); //사용자가 취소를 누르거나 창을 닫은경우
}
}
}
|
cs |
1. JOptionPane.showInputDialog()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package java_practice;
import javax.swing.JOptionPane;
public class JOption_Arr {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] selections = {"첫번째값", "두번째값", "세번째값"};
JOptionPane.showInputDialog(null, "selectionValues를 이용해서\n선택창으로 만들어봅니다.", "제목표시줄", JOptionPane.QUESTION_MESSAGE, null, selections, "두번째값");
}
}
|
cs |
messageType을 Qustion dialog로 불러왔다.
그다음 Object[] options을 미리 만들어 주었던 배열 selctions로 설정해 주어 셋중 고를 수 있게 하였다.
맨 마지막의 Object initialValue를 "두번째값"으로 지정해 주어 세개의 항목 중 두번째 항목을 초기값으로 선택해 창이 떴을 때 두번째값으로 설정되어있게 하였다.
'Java > Java 기초문법' 카테고리의 다른 글
[JAVA 기초] 자바 객체지향언어 - 클래스,인스턴스와 객체 (0) | 2021.03.09 |
---|---|
[JAVA 기초] 난수생성 (Math.random와 Random 클래스) (0) | 2021.03.08 |
[JAVA 기초] 자바 배열(Array) - 다차원 배열, deepToString, arraycopy 메서드 (0) | 2021.03.06 |
[JAVA 기초] 자바 배열(Array) - 3 foreach문, 예제 (0) | 2021.03.05 |
[JAVA 기초] 자바 배열(Array) - 2 초기화와 출력 (0) | 2021.03.04 |
댓글