如何停止箭头键导航控件>>

问题描述 投票:1回答:2

我正在尝试阻止箭头键浏览示例中的控件。我不确定该怎么做。这是我创建的示例:

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.FlowPane;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class KeyEventTest extends Application{

    private EventHandler<KeyEvent> keyEventHandler;

    @Override
    public void start(Stage stage) throws Exception {
        // TODO Auto-generated method stub
        Group root = new Group();
        FlowPane f = new FlowPane();
        Button r = new Button("button1");
        Button r2 = new Button("button1");
        Button r3 = new Button("button1");
        f.getChildren().addAll(r,r2,r3);
        root.getChildren().add(f);
        Scene scene = new Scene(root,600,600);
        keyEventHandler = new EventHandler<KeyEvent>() {
            public void handle(final KeyEvent keyEvent) {
                if (keyEvent.getCode() == KeyCode.LEFT || keyEvent.getCode() == KeyCode.UP) {
                    System.out.println("arrow keys");
                }else{
                    System.out.println(keyEvent);
                }
            }
        };
        stage.addEventHandler(KeyEvent.KEY_PRESSED, keyEventHandler);


        stage.setScene(scene);
        stage.show();
    }

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

}

任何帮助将不胜感激谢谢

我正在尝试阻止箭头键浏览示例中的控件。我不确定该怎么做。这是我创建的示例:import javafx.application.Application; ...

java javafx-2
2个回答
1
投票

我有一个类似的问题,发现了一个简单的解决方法。由于控件导航到Part会在自我实现的EventHandler之后触发,因此您可以通过调用


-1
投票

首先,关于这个问题的答案类似于关于这个问题的答案:JavaFX: How to change the focus traversal policy?

© www.soinside.com 2019 - 2024. All rights reserved.