gpt4 book ai didi

java - 如何停止箭头键导航控件

转载 作者:行者123 更新时间:2023-12-01 04:49:01 24 4
gpt4 key购买 nike

我试图阻止箭头键在我的示例中的控件中导航。我不知道该怎么做。这是我创建的示例:

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);
}

}

如有任何帮助,我们将不胜感激谢谢

最佳答案

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

来停止 KeyEvent 的任何进一步传播
    keyevent.consume()

在handle()方法的末尾。

关于java - 如何停止箭头键导航控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com