2011-12-08 7 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可能性(文字のブロック)または追加文字を追加で、Iは、文字の挿入ブロックの両方の方法

insertUpdate() 

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

をオーバーライドすることをお勧めより良い実装になるPattern p = Pattern.compile("decision char filtering")直接

関連する問題