JavaFX キーボード入力を受け付ける
キーイベントの取得
JavaFXでRPGを作っているときに、キーボード入力を受け付けて反映させるプログラムをどのように書けば良いのか迷ったので、その方法を書きます。
blog.ayihis.info
上記のサイトでその方法が書かれているんですが、TextAreaを使うとキーイベントの取得はどうなるのか試してみました。
コード
public class Test extends Application { @Override public void start(Stage stage) { HBox hBox = new HBox(); //Label label = new Label(); TextArea textArea = new TextArea(); textArea.setEditable(false); hBox.getChildren().add(textArea); textArea.setOnKeyPressed(e ->{ System.out.println(e.getCode()); }); Scene scene = new Scene(hBox, 300, 250); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } <|| TextAreaを使ってキーイベントを設定すると、secneにsetOnKeyPressedを付けなくても、コンソールにキー入力が反映されようになりました。 一方で、textAreaをコメントアウトして、LabelにsetOnKeyPressedを付けるとキー入力は反映されませんでした。