是否可以在JavaFX2的主窗口区域中创建几个子窗口?

Ita*_*ako 5 javafx-2

我认为以下来自mIRC的屏幕截图将帮助您了解我的问题。

mIRC中的多个子窗口

我有一个主舞台(1),并且在某些窗格(或任何其他容器)中(2),我想以这种方式添加几个子窗口(3),以使它们不能移到拥有的窗口之外并且不可见/可选在OS任务栏中

在JavaFX 2.2中有没有办法做到这一点?如果没有窗户(单独的舞台),是否可以与其他可移动容器一起使用?

jew*_*sea 2

JavaFX 2.2 中没有框架来促进这一点。

您可以使用 JavaFX 问题跟踪器跟踪 JavaFX对接框架功能请求并为其投票。

您可以使用公共 JavaFX API 自行创建这样的框架。使用阶段,获得您想要的行为可能有点困难,但我认为如果您使用放置在主应用程序阶段内的自定义可移动窗格,这是可能的。

然而,在提供对接框架的正式实现之前,您可能最好使用 NetBeans 等现有应用程序框架,并将 JavaFX 组件嵌入现有框架创建的框架内的 JFXPanels 中

回答您的一些具体问题。

在操作系统任务栏中不可见/不可选。

在显示新子窗口之前,调用子窗口。initOwner将子窗口的所有者设置为应用程序的主要阶段。

它们不能移出所属窗口

您可以向子窗口和主窗口的 x、y、宽度和高度属性添加侦听器。在侦听器代码中,如果尝试将子窗口移动到父窗口的边界之外,则会重新定位子窗口。如果操作系统在 JavaFX 侦听器收到通知之前处理大小和位置更改通知(我认为很可能是这种情况),则该策略可能会有点笨拙。