JavaFXにて今回したいことは、
「マウスの右クリック」をきっかけに「キーボード上矢印キー」「キーボード下矢印キー」の順で押させることです。
「getCode」はあっても「setCode」のような方法が見つけれておりません。
「キーボード上矢印キー」「キーボード下矢印キー」の順で押させる方法をお分かりの方がいらっしゃいましたら、ご指南いただけないでしょうか。
どうぞよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
こちらと概ね同じ質問ですね。
回答したのですが、これで事足りませんか?
一応、ボタンを右クリックしたら「キーボード上矢印キー」「キーボード下矢印キー」の順で
KEY_RELEASEDが送られるようにしてみました。
lang
1import javafx.application.Application; 2import javafx.event.Event; 3import javafx.geometry.Pos; 4import javafx.scene.Group; 5import javafx.scene.Scene; 6import javafx.scene.control.Button; 7import javafx.scene.control.Label; 8import javafx.scene.control.TextField; 9import javafx.scene.input.KeyCode; 10import javafx.scene.input.KeyEvent; 11import javafx.scene.input.MouseButton; 12import javafx.scene.layout.HBox; 13import javafx.stage.Stage; 14 15public class App extends Application { 16 17 @Override 18 public void start(Stage primaryStage) { 19 Group root = new Group(); 20 Scene scene = new Scene(root, 500, 200); 21 22 HBox hbox = new HBox(); 23 hbox.setAlignment(Pos.CENTER); 24 25 Button button = new Button("ボタン"); 26 Label label = new Label("ラベル"); 27 TextField textField = new TextField(); 28 29 button.setOnMouseClicked((event) -> { 30 if (event.getButton() == MouseButton.SECONDARY) { 31 label.setText(""); 32 Event.fireEvent(textField, new KeyEvent(KeyEvent.KEY_PRESSED, 33 KeyEvent.CHAR_UNDEFINED, "", KeyCode.UP, false, 34 false, false, false)); 35 Event.fireEvent(textField, new KeyEvent(KeyEvent.KEY_PRESSED, 36 KeyEvent.CHAR_UNDEFINED, "", KeyCode.DOWN, false, 37 false, false, false)); 38 } 39 }); 40 textField 41 .setOnKeyPressed((event) -> { 42 label.setText(label.getText() + "\nKey Pressed: " 43 + event.getCode()); 44 }); 45 46 hbox.getChildren().add(button); 47 hbox.getChildren().add(textField); 48 hbox.getChildren().add(label); 49 50 ((Group) scene.getRoot()).getChildren().add(hbox); 51 52 primaryStage.setTitle("Button Test"); 53 primaryStage.setScene(scene); 54 primaryStage.show(); 55 } 56 public static void main(String[] args) { 57 launch(args); 58 } 59}
投稿2015/09/03 02:39
総合スコア1546
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/03 03:01