gpt4 book ai didi

java - 在不同的微调器上按 Enter 键后如何请求将焦点集中在微调器上

转载 作者:行者123 更新时间:2023-12-01 10:07:31 25 4
gpt4 key购买 nike

所以我有 2 个 SpinnerwindVelSpinnerlaunchTubeSpinner。他们在按键操作上有以下内容(我正在使用场景生成器):windSpinActionlaunchSpinAction 是我对它们的称呼。这是 windSpinAction 方法:

@FXML
void windSpinAction(KeyEvent ke) {
if (ke.getCode().equals(KeyCode.ENTER)) {
launchTubeSpinner.requestFocus();
} // end if statement

当我运行程序并按 enter 而焦点位于 windVelSpinner 上时,什么也没有发生。但是,如果我点击 shift+enter ,它会将焦点移动到 launchSpinAction。为什么会出现这种情况?我该如何解决这个问题?提前致谢!

最佳答案

这与是否按shift无关。由于您使用 onKeyPressed 事件,该事件会在第一个 Spinner 上触发,这使得第二个 Spinner 在按键仍被按下时接收焦点,因此第二个 Spinner 也接收到该事件,第一个 Spinner 再次获得焦点,并再次接收事件,将焦点再次更改为第二个 Spinner 并等等...

结果是焦点或多或少随机地结束于其中一个Spinner

使用onKeyReleased每次按键仅触发一次事件。

<小时/>

如果您有可编辑的Spinner,并且想要在用户输入后更改焦点,请使用 onAction事件editor而不是 Spinner 上的按键事件。

windVelSpinner.getEditor().setOnAction(e -> {
launchTubeSpinner.requestFocus();
});

(在初始化方法中)

关于java - 在不同的微调器上按 Enter 键后如何请求将焦点集中在微调器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344851/

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