2011-12-08 3 views
0

NetBeans에서 JFormattedTextField에 대해 유효하지 않은 문자를 설정하여 |, [, ] 등과 같이 어떻게 허용합니까? 바로 myFormattedTextField = new javax.swing.JFormattedTextField(); 선택 사용자 정의 만들기 옆에있는 드롭 다운 상자 사용자 지정 코드를 클릭하고 포맷을 추가의 JFormattedTextField에 클릭 GUI에, 다음JFormattedTextField에서 문자를 허용하지 않으려면 어떻게해야하나요?

MaskFormatter formatter = null; 

     try { 
      //# - Any valid number, uses Character.isDigit. 
      //' - Escape character, used to escape any of the special formatting characters. 
      //U - Any character (Character.isLetter). All lowercase letters are mapped to upper case. 
      //L - Any character (Character.isLetter). All upper case letters are mapped to lower case. 
      //A - Any character or number (Character.isLetter or Character.isDigit) 
      //? - Any character (Character.isLetter). 
      //* - Anything. 
      //H - Any hex character (0-9, a-f or A-F). 
      formatter = new MaskFormatter("******************************"); 
      formatter.setInvalidCharacters("|[]"); 
     } catch (java.text.ParseException ex) { 
     } 

:

결코 마음, 나는 해결책을 알아 냈어 다음과 같이 JFormattedTextField로 이동하십시오. myFormattedTextField = new javax.swing.JFormattedTextField(formatter);

희망이 있으면 누군가 다른 사람에게 도움이되기를 바랍니다.

답변

1

가장 편하지 방법은 문자로 DocumentListener 거기 Pattern에서, JFormattedTextField에 발 루르가 inseted 수 (문자의 블록) 또는 추가 문자를 추가, 나는 문자의 삽입 블록에 대한 두 가지 방법

insertUpdate() 

changedUpdate()//Plain text components don't fire these events. 

을 무시하는 것이 좋습니다 것 더 나은 도구가 되라. Pattern p = Pattern.compile("decision char filtering")

관련 문제