2014-04-17 9 views
0

입력하는 동안 사용자 입력을 실시간으로 형식화하고 싶습니다.JTextField의 사용자 입력 실시간 형식화

예를 들어 사용자가 날짜를 입력하도록하려면 텍스트 필드에 밝은 회색으로 날짜 형식을 표시하고 싶습니다. 사용자는 입력하는 동안 유효한 자릿수 만 입력 할 수 있습니다.

내가 전화 번호를 입력하는 사용자가 필요한 경우, 형식은 텍스트 필드에 밝은 회색에 표시되는 사용자에만 유효 숫자를 입력 할 수있을 것입니다 ...

이의 자바 스크립트 예 여기에 있습니다 : http://omarshammas.github.io/formancejs#dd_mm_yyyy

나는 JFormattedTextField를 보았지만 사용자가 잘못된 문자를 입력하는 것을 막아주지는 못합니다.

자바에서 자바 스크립트 코드와 동일한 작업을 수행하는 방법이 궁금합니다.

내가이 작업을 시작하는 데 도움이되는 아이디어가 있습니까?

미리 제안 해 주셔서 감사합니다.

답변

1

KeyListener 인터페이스에는 구현해야 할 세 가지 메소드 keyPressed, keyTyped 및 keyReleased가 있습니다. 각 키를 누를 때마다 구현 된 리스너에서 필요한 것을 수행 할 수 있습니다. 예를 들어, 입력 된 현재 키 또는 텍스트 필드의 현재 내용이 승인되지 않은 경우 취해야하는 시각적 또는 논리적 조치를 취할 수 있습니다.

일반적으로 링크가 마음에 들지 않지만 here은 KeyListeners에 대한 자습서입니다.

usernameTextField.addKeyListener(new KeyAdapter() { 
    public void keyReleased(KeyEvent e) { 
     JTextField textField = (JTextField) e.getSource(); 
     String text = textField.getText(); 
     textField.setText(text.toUpperCase()); 
    } 

    public void keyTyped(KeyEvent e) { 
     // TODO: Do something for the keyTyped event 
    } 

    public void keyPressed(KeyEvent e) { 
     // TODO: Do something for the keyPressed event 
    } 
}); 
+0

가 시작하기 좋은 장소처럼 보이는 : 여기

그리고

는 JTextField를에 모든 KeyListener을 추가하는 예입니다. 예를 들어 주셔서 감사합니다. –