[java] 자바 스윙 컴포넌트에서 사용자 입력을 검증하는 방법은 어떻게 되나요?

입력 검증 방법

  1. 리스너 구현 : 컴포넌트에 리스너(Listener)를 추가하여 사용자 입력을 검증합니다. 예를 들어, ActionListener를 사용하여 버튼 클릭을 처리하거나, FocusListener를 사용하여 포커스 이벤트를 처리할 수 있습니다.

  2. 입력 검증 클래스 작성: 별도의 입력 검증 클래스를 작성하여 사용자가 입력한 값을 검증할 수 있습니다. 예를 들어, InputVerifier 클래스를 사용하여 텍스트 필드의 입력을 검증할 수 있습니다.

  3. 텍스트 필드 데코레이터: 입력 필드에 입력을 할 때마다 검증하는 방법으로, 입력값이 변경될 때마다 콜백 메서드를 호출하여 검증을 수행할 수 있습니다.

예제 코드

아래는 텍스트 필드를 사용하여 사용자 입력을 검증하는 예제 코드입니다.

import javax.swing.*;
import java.awt.*;

public class InputValidationExample extends JFrame {
    private JTextField textField;

    public InputValidationExample() {
        setTitle("Input Validation Example");
        textField = new JTextField(20);
        textField.setInputVerifier(new MyInputVerifier());
        
        add(textField, BorderLayout.NORTH);
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        new InputValidationExample();
    }
    
    class MyInputVerifier extends InputVerifier {
        @Override
        public boolean verify(JComponent input) {
            JTextField textField = (JTextField) input;
            String text = textField.getText();
            // Perform input validation logic
            if (text.length() < 5) {
                JOptionPane.showMessageDialog(null, "Input must be at least 5 characters long");
                return false;
            }
            return true;
        }
    }
}

위의 예제 코드는 InputVerifier 클래스를 사용하여 텍스트 필드의 입력을 검증하고, 검증에 실패한 경우 메시지 다이얼로그를 표시하는 방법을 보여줍니다.

이러한 방법들을 사용하여 자바 스윙 애플리케이션에서 사용자 입력을 검증할 수 있습니다.