JOptionPane — 표준 대화상자 컴포넌트

JOptionPane — 표준 대화상자 컴포넌트

JOptionPane은 사용자에게 값을 요구하거나 무언가를 알리는 표준 대화상자를 쉽게 띄우게 하는 컴포넌트입니다.

출처: Java API Reference

본문

public class JOptionPane extends JComponent implements Accessible

JOptionPane은 사용자에게 값을 요구하거나 무언가를 알리는 표준 대화상자를 쉽게 띄우게 합니다. JOptionPane 사용에 대한 정보는 The Java Tutorial의 "How to Make Dialogs" 섹션을 참고하세요. JOptionPane 클래스는 메서드 수가 많아 복잡해 보일 수 있지만, 거의 모든 용도는 아래의 정적 showXxxDialog 메서드 중 하나를 한 줄로 호출하는 것입니다.

  • showConfirmDialog — 예/아니오/취소 같은 확인 질문을 합니다
  • showInputDialog — 입력을 요구합니다
  • showMessageDialog — 발생한 일에 대해 사용자에게 알립니다
  • showOptionDialog — 위 세 가지의 통합판입니다

각 메서드에는 내부 프레임으로 대화상자를 담는 showInternalXXX 형태도 있습니다. 여러 편의 메서드도 정의되어 있습니다 — 서로 다른 매개변수 목록을 쓰는 기본 메서드의 오버로드 버전입니다. 모든 대화상자는 모달입니다. 각 showXxxDialog 메서드는 사용자의 상호작용이 끝날 때까지 호출자를 차단합니다. 매개변수 패턴: parentComponent는 이 대화상자의 부모가 될 Component입니다. message는 대화상자에 놓을 설명 메시지로, 보통 String이지만 실제 유형은 Object입니다. messageType은 메시지의 스타일을 정의하며 ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, PLAIN_MESSAGE 값을 가질 수 있습니다. optionType은 대화상자 하단에 나타나는 옵션 버튼 집합을 정의하며 DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION 값을 가집니다. options로 원하는 어떤 버튼이든 제공할 수 있습니다. icon은 대화상자에 놓을 장식용 아이콘입니다. title은 대화상자의 제목입니다. initialValue는 기본 선택(입력 값)입니다. showXxxDialog 메서드가 정수를 반환할 때 가능한 값은 YES_OPTION, NO_OPTION, CANCEL_OPTION, OK_OPTION, CLOSED_OPTION입니다. 예:

JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
String inputValue = JOptionPane.showInputDialog("Please input a value");

경고: Swing은 스레드에 안전하지 않습니다. 이 클래스의 직렬화된 객체는 향후 Swing 버전과 호환되지 않을 수 있습니다. 현재 직렬화 지원은 단기 저장이나 같은 버전의 Swing을 실행하는 애플리케이션 간 RMI에 적합합니다. 1.4부터 모든 JavaBean의 장기 저장 지원이 java.beans 패키지에 추가되었으니 XMLEncoder를 참고하세요.

UNINITIALIZED_VALUE

public static final Object UNINITIALIZED_VALUE

사용자가 아직 값을 선택하지 않았음을 나타냅니다.

DEFAULT_OPTION

public static final int DEFAULT_OPTION

예/아니오/취소 유형을 나타냅니다. "예"를 선택하면 YES_OPTION을 반환합니다.

YES_NO_OPTION

public static final int YES_NO_OPTION

예/아니오 유형을 나타냅니다.

YES_NO_CANCEL_OPTION

public static final int YES_NO_CANCEL_OPTION

예/아니오/취소 유형을 나타냅니다.

OK_CANCEL_OPTION

public static final int OK_CANCEL_OPTION

확인/취소 유형을 나타냅니다.

ERROR_MESSAGE

public static final int ERROR_MESSAGE

오류 메시지를 나타내는 데 사용합니다.

INFORMATION_MESSAGE

public static final int INFORMATION_MESSAGE

정보 메시지를 나타내는 데 사용합니다.

WARNING_MESSAGE

public static final int WARNING_MESSAGE

경고 메시지를 나타내는 데 사용합니다.

QUESTION_MESSAGE

public static final int QUESTION_MESSAGE

질문 메시지를 나타내는 데 사용합니다.

PLAIN_MESSAGE

public static final int PLAIN_MESSAGE

아이콘이 없는 일반 메시지를 나타내는 데 사용합니다.

showMessageDialog

public static void showMessageDialog(Component parentComponent, Object message) throws HeadlessException

제목 없이 메시지 대화상자를 표시합니다.

  • 매개변수: parentComponent - 대화상자의 부모 컴포넌트

showConfirmDialog

public static int showConfirmDialog(Component parentComponent, Object message) throws HeadlessException

OUTPUT하여 확인 질문을 하는 모달 대화상자를 표시합니다.

  • 매개변수: parentComponent - 대화상자의 부모 컴포넌트
  • 매개변수: message - 표시할 메시지
  • 반환값: 사용자 선택(YES_OPTION, NO_OPTION, CANCEL_OPTION, CLOSED_OPTION 중 하나)

showInputDialog

public static String showInputDialog(Object message) throws HeadlessException

기본 부모 프레임을 사용해 입력 질문을 하는 모달 대화상자를 표시합니다.

  • 매개변수: message - 표시할 메시지
  • 반환값: 사용자 입력 문자열

showOptionDialog

public static int showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue) throws HeadlessException

지정된 매개변수로 옵션 대화상자를 표시합니다.

  • 매개변수: parentComponent - 대화상자의 부모 컴포넌트
  • 매개변수: message - 표시할 메시지
  • 매개변수: title - 대화상자의 제목
  • 매개변수: optionType - 옵션 집합
  • 매개변수: messageType - 메시지 유형
  • 매개변수: icon - 표시할 아이콘
  • 매개변수: options - 옵션 버튼 배열
  • 매개변수: initialValue - 초기 선택 값
  • 반환값: 사용자 선택

createDialog

public JDialog createDialog(Component parentComponent, String title) throws HeadlessException

이 JOptionPane을 포함하는 새 JDialog를 만들고 반환합니다.

  • 매개변수: parentComponent - 대화상자의 부모 컴포넌트
  • 매개변수: title - 대화상자의 제목
  • 반환값: 이 JOptionPane을 담는 새 JDialog

setValue

public void setValue(Object newValue)

대화상자의 값 프로퍼티를 설정합니다.

  • 매개변수: newValue - 새 값

getValue

public Object getValue()

사용자가 선택한 값을 반환합니다.

  • 반환값: 현재 값

setMessage

public void setMessage(Object newMessage)

대화상자에 표시할 메시지를 설정합니다.

  • 매개변수: newMessage - 표시할 메시지

getMessage

public Object getMessage()

표시할 메시지를 반환합니다.

  • 반환값: 표시할 메시지

setMessageType

public void setMessageType(int newType)

다이얼로그의 메시지 유형을 설정합니다.

  • 매개변수: newType - 메시지 유형

getMessageType

public int getMessageType()

메시지 유형을 반환합니다.

  • 반환값: 메시지 유형

더 알아보기