gpt4 book ai didi

javafx - 使 JavaFX 窗口处于事件状态

转载 作者:行者123 更新时间:2023-12-02 03:21:03 24 4
gpt4 key购买 nike

我正在尝试通过特定的击键创建一个JavaFX应用程序(在后台运行以显示(设置可见))并使该窗口立即成为事件窗口。因此,我设置了主阶段的alwaysOnTop属性true,调用stage.toFront(),最后调用stage.requestFocus()。之后我请求文本字段的焦点。当窗口可见时,我想立即开始在文本字段中输入内容。

但是,例如,当我选择 Ubuntu 终端并使窗口可见并开始输入时,应用程序显示在所有内容之上,但是输入会转到终端。应用程序窗口未激活!尽管如此,舞台的焦点属性是true。这是一个错误还是我错过了什么?与操作系统有关吗?

<小时/>

编辑:我愿意为我目前正在使用的这个问题提供一些小技巧,因为互联网表明,很多人都面临着这个问题:我正在开发一台 Linux 机器,我可以使用很棒的工具 wmctrl。它是大多数标准存储库的一部分。 wmctrl -a WINDOWNAME 将名为 WINDOWNAME 的窗口设置为事件状态。目前,当我需要激活窗口时,我只需从源代码中调用此工具即可。因为这比其他任何事情都更像是一种肮脏的黑客行为,所以我确实想摆脱它。

最佳答案

并不完美,但它有效:

Platform.runLater(() ->
{
//primaryStage.setAlwaysOnTop(true);
//primaryStage.setAlwaysOnTop(false);
primaryStage.setIconified(true);
primaryStage.setIconified(false);
});

关于javafx - 使 JavaFX 窗口处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086570/

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