[java] 자바 스윙 컴포넌트에서 사용자 입력을 검증하는 방법은 어떻게 되나요?
입력 검증 방법
-
리스너 구현 : 컴포넌트에 리스너(Listener)를 추가하여 사용자 입력을 검증합니다. 예를 들어,
ActionListener
를 사용하여 버튼 클릭을 처리하거나,FocusListener
를 사용하여 포커스 이벤트를 처리할 수 있습니다. -
입력 검증 클래스 작성: 별도의 입력 검증 클래스를 작성하여 사용자가 입력한 값을 검증할 수 있습니다. 예를 들어,
InputVerifier
클래스를 사용하여 텍스트 필드의 입력을 검증할 수 있습니다. -
텍스트 필드 데코레이터: 입력 필드에 입력을 할 때마다 검증하는 방법으로, 입력값이 변경될 때마다 콜백 메서드를 호출하여 검증을 수행할 수 있습니다.
예제 코드
아래는 텍스트 필드를 사용하여 사용자 입력을 검증하는 예제 코드입니다.
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
클래스를 사용하여 텍스트 필드의 입력을 검증하고, 검증에 실패한 경우 메시지 다이얼로그를 표시하는 방법을 보여줍니다.
이러한 방법들을 사용하여 자바 스윙 애플리케이션에서 사용자 입력을 검증할 수 있습니다.