본문 바로가기

언어/Java

[ Java ] JOptionPane 객체로 입력 받기

반응형

JOptionPane 클래스는 Java Swing 라이브러리에서 제공하는 간단한 다이얼로그 박스를 생성할 수 있는 클래스입니다. 이를 통해 사용자로부터 입력을 받을 수 있는 입력 다이얼로그(Input Dialog)를 쉽게 만들 수 있습니다.

1. JOptionPane을 사용하여 입력 받기

JOptionPaneshowInputDialog 메서드를 사용하여 입력 다이얼로그를 표시하고 사용자의 입력을 받을 수 있습니다. 이 메서드는 다양한 형태로 오버로드(overload)되어 있으며, 기본적인 사용법은 다음과 같습니다:

String input = JOptionPane.showInputDialog(Object message);
  • message: 사용자에게 표시할 메시지

2. 예제: 사용자로부터 이름과 나이를 입력받아 출력하는 프로그램

아래 예제는 JOptionPane을 사용하여 사용자로부터 이름과 나이를 입력받아 출력하는 간단한 프로그램입니다.

import javax.swing.JOptionPane;

public class JOptionPaneExample {
    public static void main(String[] args) {
        // 사용자로부터 이름 입력 받기
        String name = JOptionPane.showInputDialog(null, "Enter your name:", "Name Input", JOptionPane.QUESTION_MESSAGE);

        // 사용자로부터 나이 입력 받기
        String ageString = JOptionPane.showInputDialog(null, "Enter your age:", "Age Input", JOptionPane.QUESTION_MESSAGE);

        // 나이를 정수로 변환
        int age = Integer.parseInt(ageString);

        // 입력 받은 내용 출력
        String message = "Hello, " + name + "! You are " + age + " years old.";
        JOptionPane.showMessageDialog(null, message, "User Information", JOptionPane.INFORMATION_MESSAGE);
    }
}

3. 설명

  1. 이름 입력 받기:
    • String name = JOptionPane.showInputDialog(null, "Enter your name:", "Name Input", JOptionPane.QUESTION_MESSAGE);
    • showInputDialog 메서드를 사용하여 사용자에게 "Enter your name:" 메시지를 표시하고 이름을 입력받습니다.
  2. 나이 입력 받기:
    • String ageString = JOptionPane.showInputDialog(null, "Enter your age:", "Age Input", JOptionPane.QUESTION_MESSAGE);
    • showInputDialog 메서드를 사용하여 사용자에게 "Enter your age:" 메시지를 표시하고 나이를 입력받습니다.
    • 입력받은 나이는 문자열 형태이므로 Integer.parseInt(ageString)를 사용하여 정수로 변환합니다.
  3. 입력 받은 내용 출력:
    • String message = "Hello, " + name + "! You are " + age + " years old.";
    • JOptionPane.showMessageDialog 메서드를 사용하여 입력받은 이름과 나이를 포함한 메시지를 표시합니다.

4. 추가 예제: 다양한 타입의 입력 받기

아래 예제는 JOptionPane을 사용하여 사용자로부터 다양한 타입의 입력을 받아 출력하는 프로그램입니다.

import javax.swing.JOptionPane;

public class JOptionPaneExample2 {
    public static void main(String[] args) {
        // 문자열 입력 받기
        String str = JOptionPane.showInputDialog(null, "Enter a string:", "String Input", JOptionPane.QUESTION_MESSAGE);

        // 정수 입력 받기
        String integerString = JOptionPane.showInputDialog(null, "Enter an integer:", "Integer Input", JOptionPane.QUESTION_MESSAGE);
        int integer = Integer.parseInt(integerString);

        // 실수 입력 받기
        String doubleString = JOptionPane.showInputDialog(null, "Enter a double:", "Double Input", JOptionPane.QUESTION_MESSAGE);
        double dbl = Double.parseDouble(doubleString);

        // 불리언 입력 받기
        String booleanString = JOptionPane.showInputDialog(null, "Enter a boolean (true/false):", "Boolean Input", JOptionPane.QUESTION_MESSAGE);
        boolean bool = Boolean.parseBoolean(booleanString);

        // 입력 받은 내용 출력
        String message = "String: " + str + "\nInteger: " + integer + "\nDouble: " + dbl + "\nBoolean: " + bool;
        JOptionPane.showMessageDialog(null, message, "User Information", JOptionPane.INFORMATION_MESSAGE);
    }
}

이 예제에서는 JOptionPane을 사용하여 문자열, 정수, 실수, 그리고 불리언 값을 입력받고 이를 출력합니다. 이 방법을 통해 간단한 그래픽 사용자 인터페이스를 통해 사용자와 상호작용할 수 있습니다.

반응형