joptionpane 예제

이 JOptionPane 쇼MessageDialog 예제를 다음 단계로 가져 가면 실제 응용 프로그램에서 제목으로 메시지 대화 상자를 표시하려는 것이므로 다음에 showMessageDialog 메서드에 제목을 추가하겠습니다. 그러나 제목을 추가하면 showMessageDialog 메서드를 호출 할 때 메시지 유형을 추가해야합니다 (나중에 표시된 일반 구문 옵션에서 볼 수 있듯이) 이 JOptionPane 예제에서 INFORMATION_MESSAGE 유형을 선택합니다. 다음 코드에는 네 가지 JOptionPane 대화 상자가 표시됩니다. 이 예제에서 JOptionPane showMessageDialog 메서드에 대한 첫 번째 인수는 아마도 JFrame의 인스턴스인 프레임 개체입니다. 어떤 이유로 JFrame 또는 JWindow 인스턴스에 대한 참조가 없는 경우 해당 필드를 null로 만들고 이 예제와 같이 동일한 JOptionPane 대화 상자를 표시할 수 있습니다. 값을 반환하고 사용자에게 유효하지 않은 경우 다시 시도하도록 요청합니다. 또 다른 방법은 반환하기 전에 사용자 입력 된 데이터의 유효성을 검사하는 사용자 지정 대화 상자를 만드는 것입니다. 데이터 유효성 검사의 예는 CustomDialog.java를 참조하십시오. 정수를 반환하지 않는 showXxxDialog의 유일한 형태는 대신 개체를 반환하는 showInputDialog입니다. 이 개체는 일반적으로 사용자의 선택을 반영하는 문자열입니다. 다음은 showInputDialog를 사용하여 사용자가 세 가지 문자열 중 하나를 선택할 수 있는 대화 상자를 만드는 예입니다. 대화 상자가 내부 프레임이어야 하는 경우 예를 들어 내부 후 표시를 추가하여 MessageDialog 변경 내용을 표시하여 내부 메시지@로그로를 표시합니다. 대화 상자 창 닫기 동작을 제어해야 하거나 대화 상자를 모달로 지정하지 않으려면 JOptionPane을 직접 인스턴스화하고 JDialog 인스턴스에 추가해야 합니다.

그런 다음 JDialog에서 Visible(true)로 설정하여 표시합니다. 이제 좀 더 완전한 showMessageDialog 예제로 이것을 살펴보면, 여기에 약간 더 복잡한 메시지와 함께 showMessageDialog 예제를 보여 주는 완전한 Java 클래스의 소스 코드가 있습니다: 여기서 는 모든 Java 소스 코드를 반복하지는 않겠지만, 만약 당신이 반복한다면 정확히 동일한 예제를 사용하고 INFORMATION_MESSAGE 형식을 다음과 같이 ERROR_MESSAGE 유형으로 바꿉습니다. showConfirmDialog 메서드는 사용자에게 무언가를 확인하도록 요청하지만 사용자 상황에 맞게 사용자 지정된 단추 텍스트(예: 시작/취소)가 아닌 표준 단추 텍스트(예/아니요 또는 지역화된 동등한 텍스트)를 제공합니다. 네 번째 방법인 showInputDialog는 텍스트 필드, 수정할 수 없는 콤보 상자 또는 목록을 사용하여 사용자로부터 문자열을 얻는 모달 대화 상자를 표시하도록 설계되었습니다. JOptionPane을 사용하여 대화 상자를 만들 때 표준 단추 텍스트(모양과 느낌 및 로캘에 따라 다를 수 있음)를 사용하거나 다른 텍스트를 지정할 수 있습니다. 기본적으로 옵션 창 유형에 따라 표시되는 단추 수가 결정됩니다. 예를 들어 YES_NO_OPTION 대화 상자에는 두 개의 단추가 있고 YES_NO_CANCEL_OPTION 대화 상자에는 세 개의 단추가 있습니다. 표준 대화 상자 단추에 표시되는 문자열을 변경하더라도 반환 값은 여전히 미리 정의된 정수 중 하나입니다. 예를 들어 YES_NO_OPTION 대화 상자는 항상 YES_OPTION, NO_OPTION 또는 CLOSED_OPTION 중 하나를 반환합니다. 간단한 대화 상자에 대한 코드는 최소화할 수 있습니다.

예를 들어, 여기에 정보 대화 상자입니다: 다음은 ShowMessageDialog, showOptionDialog 및 JOptionPane 생성자 사용의 DialogDemo.java에서 가져온 몇 가지 예입니다. 자세한 예제 코드는 DialogDemo.java 및 대화 상자를 사용하는 예제에 나열된 다른 프로그램을 참조하십시오. 이 예제에서는 JPanel을 개체 매개 변수로 전달합니다. JPanel은 사용자 정의되고 JLabel이 추가됩니다. 또한 UIManager에 대한 호출을 사용하여 OptionPane의 크기를 조작하고 있습니다. 사용자 지정 대화 상자를 디자인하는 경우 사용자가 선택한 내용에 대한 대화 상자를 쿼리할 수 있도록 대화 상자의 API를 디자인해야 합니다.