2017-06-16 14 views
0

ユーザーが入力したテキストを使用できるイベントハンドラを作成しようとしています。JavaFX:数字、文字、記号、およびスペースのみを許可するKeyEvent

私はKeyEvent.KEY_TYPEDを使用してみましたが、また、それを意味し、私はキャプチャしたいすべては、あなたが(視覚的に)テキストフィールドに入力できる文字であるなどBACKSPACEESCのようにキーのUnicode文字を与えていますTABBACKSPACE、機能ボタン(例えばF1)、修飾ボタン、ナビゲーションボタンとロックボタンENTER、ESCを無視すべきです。

私もKeyEvent.KEY_PRESSEDを試しましたが、KeyCodeisDigit()isLetter()しか持っていません。 isSymbol()はありません。

これを実装するにはどうすればよいですか?

+0

どのように実装していますか?いくつかのコードを投稿してください! –

答えて

0

私は間違っているかもしれませんが、私はそこにこれを行うKeyEventはないと思います。あなたのケースでは、TextFieldのValuePropertyを聴いて、テキストが実際に変更された場合にのみ動作する方が良いでしょうか?ような何か:

myTextField.valueProperty().addListener((ObservableValue obsVal, String oldVal, String newVal) -> {doWhateverYouNeedWith_newVal;}); 

(注)このリスナーはちょうどその時、ユーザータイプ、何か、あなたがプログラムでテキストを変更してもいないと呼ばれることを考えました。

関連する問題