JavaFx键盘事件

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class App15_5 extends Application {

    @Override
    public void start(Stage primaryStage) {

        Text t = new Text(20, 20, "移动我");

        Pane pane = new Pane();
        pane.getChildren().add(t);

        t.setOnKeyPressed(e ->
        {
            System.out.println(e.getCode());
            // getCode()方法返回键码值
            switch (e.getCode()) {
                case UP:    // 上箭头键
                case KP_UP:
                    t.setY(t.getY() - 5);       // 数字小键盘上的上箭头键
                    break;
                case DOWN:                      //下箭头健
                case KP_DOWN:                   //数字小键盘上的下箭头键
                    t.setY(t.getY() + 5);
                    break;
                case LEFT:                      // 左箭头键
                case KP_LEFT:                   // 数字小键盘上的左箭头键
                    t.setX(t.getX() - 5);
                    break;
                case RIGHT:                     // 右箭头键
                case KP_RIGHT:                  // 数字小键盘上的右箭头键
                    t.setX(t.getX() + 5);
                    break;
                default:
                    t.setText(e.getText());     // 将按键的字符显示为文本
            }
        });

        Scene scene = new Scene(pane, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.setTitle("键盘移动操作");
        primaryStage.show();
        // 设置文本对象获得焦点,接收用户输入
        t.requestFocus();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

JavaFx键盘事件
JavaFx键盘事件

上一篇:JavaFx边框面板


下一篇:JavaFx的Application、舞台Stage和场景Scene初探