栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaFX 2自定义弹出窗格

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaFX 2自定义弹出窗格

当前的JavaFX 2.2 API很难做到很好。

这里有一些选择。

在菜单项中使用带有图形集的MenuButton

这是Button在弹出窗口中显示的可执行示例代码中采用的方法。

使用PopupControl

看一下ColorPicker在其代码中是如何做到的。

ColorPicker扩展了PopupControl。您可以执行此操作,但并非所有构建您自己的PopupControl所需的API当前都是公开的。因此,对于JavaFX 2.2,您将不得不依赖内部com.sun类,该类已被弃用,并将由JDK8中的公共javafx.scene.control类代替。

使用上下文菜单

因此,我认为您的想法“使用ContextMenu并将窗格添加到MenuItem”可能是目前最好的方法。您应该能够通过使用CustomMenuItem或在普通菜单上设置图形来做到这一点MenuItem。在ContextMenu具有良好的相对定位逻辑。一个ContextMenu还可以通过触发菜单按钮。

使用自定义对话框

为此,请在相对于该节点的位置显示透明阶段。

有一些示例代码可以帮助您入门,我已经在这里临时链接了。示例代码将相对于主窗口的侧面进行相对定位,但是您可以对其进行更新以相对于给定节点的侧面进行定位(例如ContextMenu的show方法)。

使用玻璃窗格

为此,请创建一个StackPane作为主窗口的根。将您的主要内容窗格放在StackPane中的第一个节点上,然后在堆栈窗格中创建一个Group作为第二个节点,以便它将在主要内容的顶部分层。通常,顶层组不包含任何内容,但是当您要显示弹出窗口时,请将其放在顶层组中,并将其转换为相对于主要内容中相应节点的位置。

您可以查看此演示中的锚节点如何使用,以了解它如何适应您的上下文。

JavaFX8是否有与此相关的更新?

Java 8的相关性没有太大区别,通常,这些选项如本文中基于Java 2.2功能概述的那样。Java 8确实添加了对话框和警报功能,但是这些功能更多地针对带有边框,标题和按钮的对话框,而不是问题中所需的那种功能。也许您可以从Dialog类开始并对其进行大量自定义,以使其接近所需的内容,但是最好从空白阶段或PopupControl开始。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号