Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

JOptionPaneJComponent 클래스의 하위 클래스로, 간단한 코드만으로 모달(Modal) 대화 상자를 손쉽게 생성하고 커스터마이징할 수 있는 다양한 정적(static) 메서드를 제공합니다. 일반적으로 JDialog를 직접 사용하면 코드가 복잡해지기 때문에, 이러한 복잡성을 줄이기 위해 JOptionPane이 자주 활용됩니다.

JOptionPane은 기본적으로 질문(Question), 정보(Information), 경고(Warning), 오류(Error)라는 네 가지 표준 아이콘 중 하나를 대화 상자에 표시하며, 필요에 따라 개발자가 직접 지정한 사용자 지정 아이콘을 사용할 수도 있습니다.

JOptionPane의 4가지 대화 상자 유형

JOptionPane 클래스는 다음과 같은 네 가지 유형의 대화 상자를 화면에 표시하는 데 사용됩니다.

  • MessageDialog(메시지 대화 상자) – 사용자에게 메시지를 전달하는 대화 상자로, 알림 효과를 높이기 위해 아이콘을 함께 표시할 수 있습니다.
  • ConfirmDialog(확인 대화 상자) – 메시지를 전달하는 것뿐만 아니라, 사용자가 질문에 대해 예/아니오 등으로 답변할 수 있도록 하는 대화 상자입니다.
  • InputDialog(입력 대화 상자) – 메시지 전달과 더불어 사용자가 텍스트를 입력할 수 있도록 허용하는 대화 상자입니다.
  • OptionDialog(옵션 대화 상자) – 앞서 소개한 세 가지 유형의 기능을 모두 포괄하여, 가장 유연하게 구성할 수 있는 대화 상자입니다.

예제 코드

import javax.swing.*;
public class JoptionPaneTest {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JoptionPane Test");
        frame.setSize(200, 200);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        JOptionPane.showMessageDialog(frame, "Hello Java");
        JOptionPane.showMessageDialog(frame, "You have less amount, please recharge","Apocalyptic message", JOptionPane.WARNING_MESSAGE);
        int result = JOptionPane.showConfirmDialog(null, "Do you want to remove item now?");
        switch (result) {
            case JOptionPane.YES_OPTION:
            System.out.println("Yes");
            break;
            case JOptionPane.NO_OPTION:
            System.out.println("No");
            break;
            case JOptionPane.CANCEL_OPTION:
            System.out.println("Cancel");
            break;
            case JOptionPane.CLOSED_OPTION:
            System.out.println("Closed");
            break;
        }
        String name = JOptionPane.showInputDialog(null, "Please enter your name.");
        System.out.println(name);
        JTextField userField = new JTextField();
        JPasswordField passField = new JPasswordField();
        String message = "Please enter your user name and password.";
        result = JOptionPane.showOptionDialog(frame, new Object[] {message, userField, passField},
        "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
        if (result == JOptionPane.OK_OPTION)
        System.out.println(userField.getText() + " " + new String(passField.getPassword()));
        System.exit(0);
    }
}

실행 결과

위 예제를 실행하면 순서대로 다음과 같은 대화 상자가 화면에 나타납니다.

  • 기본 정보 아이콘이 포함된 단순 메시지 대화 상자
  • 경고 아이콘과 사용자 지정 제목이 표시되는 경고 메시지 대화 상자
  • 예 / 아니요 / 취소 버튼을 선택할 수 있는 확인 대화 상자
  • 텍스트 입력란이 제공되는 입력 대화 상자
  • 사용자 이름과 비밀번호 필드를 직접 구성한 로그인용 옵션 대화 상자

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

Java에서 제공되는 JOptionPane 대화 상자의 4가지 유형 살펴보기

정리

JOptionPane은 몇 줄의 코드만으로도 메시지 알림, 사용자 확인, 텍스트 입력, 복합적인 폼 구성까지 처리할 수 있는 강력한 도구입니다. 각 대화 상자 유형의 특성을 잘 이해하고 상황에 맞게 활용하면, Swing 기반 Java 애플리케이션에서 사용자와의 상호작용을 훨씬 간결하고 효율적으로 구현할 수 있습니다.