gpt4 book ai didi

java - 在 JFXPanel 中嵌入 JavaFX Stage (Swing Embed)

转载 作者:搜寻专家 更新时间:2023-10-31 20:34:38 26 4
gpt4 key购买 nike

我正在尝试修改现有的 JavaFX GUI 程序以具有“始终保持在最前面”的功能。目前 JavaFX 不支持此功能(为什么!?!?),所以一些谷歌搜索让我相信我必须将 Swing 结合到我的 JavaFX 应用程序中才能实现这一点。不理想,但还可以。

我发现的所有示例模式都使用 JFXPanel 而不是 Stage,但是因为我的应用程序已经存在并且从一开始就是使用 JavaFX 编写的(零 Swing 在目前的代码库),从应用程序中删除 Stage 开始成为主要的重写,只是为了支持这个“顶层”功能。

如何将现有的 JavaFX Stage 嵌入到 JFXPanel 或类似的程序中,这样我就可以使用标准的 getSomeSwingWindowOrPanel().setAlwaysOnTop(true) ; 并使我的应用程序按预期 float 在所有其他窗口之上?我是不是做错了,即。有没有更好的方法,比如使用 JNI 之类的?

最佳答案

A setAlwaysOnTop()方法被添加到 Java 8u20 中的阶段。

public final void setAlwaysOnTop(boolean value)

Sets the value of the property alwaysOnTop.

Property description:

Defines whether this Stage is kept on top of other windows. If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform).

There are differences in behavior between applications if a security manager is present. Applications with permissions are allowed to set "always on top" flag on a Stage. In applications without the proper permissions, an attempt to set the flag will be ignored and the property value will be restored to "false".

The property is read only because it can be changed externally by the underlying platform and therefore must not be bindable.

Default value:

false

Since:

JavaFX 8u20

关于java - 在 JFXPanel 中嵌入 JavaFX Stage (Swing Embed),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20413066/

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