JAVA/JAVA2

[java2] #24 - JOptionPane

yoonddo 2022. 9. 12. 16:43

javax.swing.JOptionPane

JOptionPane은 사용자에게 값을 묻거나 정보를 알려주는 표준 대화 상자를 쉽게 팝업해서 이용할 수 있게 해준다.

메소드 수가 많지만 다음과 같이 크게 4가지로 분류해서 익혀두면 사용하기 쉽다.

1. showMessageDialog
2. showConfirmDialog
3. showInputDialog
4. showOptionDilog

 


1. showMessageDialog

단순한 정보를 알려주는 대화상자를 팝업 시켜주는 메서드이다.

코드 :
JOptionPane.showmessageDialog(parenComponent, message, title, messageType);
  • parentComponent : 주로 null 값이 들어간다, 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • title : 팝업 상자에 표시될 타이틀이다.
  • messageType : 팝업 상자에 기본으로 정할 수 있는 아이콘을 지정할 수 있다.

메세지 타입으론 5가지가 있다.

1) ERROR_MESSAGE

2) INFORMATION_MESSAGE

3) QUESTION_MESSAGE

4) WARNING_MESSAGE

5) PLAIN_MESSAGE : 아무 아이콘도 표시되지 않음


2. showConfirmDialog

정보와 함께 선택지를 옵션으로 같이 제공하는 대화 상자를 팝업 시켜주는 메서드이다.

코드 : 
JOptionPane.showConfirmDialog(parentComponent, message, title, optionType, messageType);
  • parentComponent : 주로 null값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • title : 팝업 상자에 표시될 타이틀이다.
  • messageType : 팝업 상자에 기본으로 정할 수 있는 아이콘을 지정할 수 있다.
  • OptionType : 팝업 상자에서 고를 수 있는 옵션의 종류를 지정할 수 있다.

옵션 타입으론 4가지가 있다.

1) DEFAULT_OPTION

2) OK_CANCEL_OPTION

3) YES_NO_CANCEL_OPTION

 

옵션을 선택하면 정수를 리턴한다

OK == 0

YES == 0

NO == 1

CANCEL == 2

x(팝업종료) == -1

 


3. showInputDialog

사용자에게 직접 입력을 받아 오는 메서드이다. 형태는 두가지로 나뉜다.

 

1) 키보드 입력을 직접 받는 형태

코드 : 
JOptionPane.showInputDialog(parentComponent, messaage, initialMessage);
  • parentComponent : 주로 null값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • initialmessage : 팝업 상자 입력창에 기본적으로 적어 놓을 내용이다.
코드 : 
JOptionPane.showInputDialog(parentComponent, message, title, messageType);
  • parentComponent : 주로 null 값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • title : 팝업 상자에 표시될 타이틀이다.
  • messageType : 팝업 상자에 기본으로 정할 수 있는 아이콘을 지정할 수 있다.

입력값을 입력하고 OK를 누르면 입력한 그대로 문자열을 전달할 수 있다.

 

2) 옵션을 정해 입력받는 형태

코드 : 
JOptionPane.showinputDialog(parentComponent, message, title, messageType, icon, value[], initialValue);
  • parentComponent : 주로 null 값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • title : 팝업 상자에 표시될 타이틀이다.
  • messageType : 팝업 상자에 기본으로 정할 수 있는 아이콘을 지정할 수 있다.
  • icon : 아이콘 이미지를 직접 지정할 수 있다.
  • value[] : 직접 정해줄 옵션의 배열을 지정한다.
  • initialValue : 정해준 옵션에서 기본적으로 표시하고 있을 내용이다.

옵션을 정하고 OK를 누르면 옵션의 내용을 Object형으로 전달하기 때문에 문자열로 형변환할 필요가 없다.


4, showOptionDialog

직접 정의한 옵션을 모두 보여주며 입력을 받을 수 있는 대화상자를 팝업 시켜준다.

코드 : 
JOptionPane.showInputDialog(parentComponent, message, title, optionType, messageType, icon, value[], initialValue);
  • parentComponent : 주로 null 값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
  • message : 팝업 상자에 표시될 내용이다.
  • title : 팝업 상자에 표시될 타이틀이다.
  • OptionType : 팝업 상자에서 고를 수 있는 옵션의 종류를 지정할 수 있다.
  • messageType : 팝업 상자에 기본으로 정할 수 있는 아이콘을 지정할 수 있다.
  • icon : 아이콘 이미지를 직접 지정할 수 있다.
  • value[] : 직접 정해줄 옵션의 배열을 지정한다.
  • initialValue : 정해준 옵션에서 기본적으로 표시하고 있을 내용이다.

옵션을 선택하면 옵션의 순서에 맞는 정수(배열 인덱스)를 전달한다.

 

 

 

 

 

 

 

 

 

 

출처 : https://shin-01.tistory.com/entry/JAVA-JOptionPane-%EC%9E%90%EC%A3%BC%EC%93%B0%EB%8A%94-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%82%AC%EC%9A%A9%EB%B2%95