キーボードのキーが押されたときにハンドラーメソッドを呼び出して、キー文字を押したいと思います。そこで、fxml ファイルのボタンに次の行を書きました。
<Button fx:id="button" layoutX="126.0" layoutY="90.0" onKeyPressed="#handleButton" text="Test!" />
いずれかのキーが押されると、コントローラー クラスの handleButton メソッドが呼び出され、KeyEvent パラメーターが渡されます。だから私はその中にこのメソッドを書きました:
@FXML
private void handleButton(KeyEvent event) {
System.out.println(event);
}
fxml ファイルで、NetBeans は「Handler メソッドにアクセスできません。公開するか、@FXML で注釈を付けてください。」というエラーを表示しますが、これは既に実行済みです。
private void handleButton(KeyEvent event)
からprivate void handleButton(Event event)
NetBeansに変更するとすぐに、エラーが表示されなくなり、アプリが動作します。
このページで、私とまったく同じように onKeyPressed を使用する答えを見つけたので、私の場合はなぜそれが機能しないのか本当に混乱しています。
ご協力いただきありがとうございます、
ビデオ