javafx弹出式窗口_JavaFX 8的弹出式编辑器

本文介绍了如何使用JavaFX 8创建一个弹出式编辑器,类似于iCal应用程序中的功能。作者通过模仿iCal的弹出窗口设计,实现了在用户界面上进行就地编辑的能力。在JavaFX中,这种弹出窗口可以轻松实现透明和粘贴效果,且可以通过CSS自定义样式。此外,弹出窗口还支持撕下功能,变为独立的实用窗口。文章提供了实现这一功能的代码示例和实际应用截图。
摘要由CSDN通过智能技术生成

javafx弹出式窗口

在过去的几个月中,我很高兴与JavaFX 8一起使用,以便为计划和调度应用程序实现复杂的用户界面。 所需的功能之一是执行“就地”编辑的方法,即快速编辑用户选择对象的某些基本属性的方法。

遵循“如果您无法创新,就模仿”的原则,我了解了Apple如何做这些事情,并且iCal确实向我展示了我需要知道的一切。

iCal –榜样

在iCal中,当用户双击事件时,将显示以下“弹出窗口”。

ical-11

此时,弹出窗口将显示各个设置组的摘要。 第一组涵盖与事件时间,警报设置和全天标记有关的所有内容。 第二组与参与者打交道,第三组与笔记,附件和Web链接打交道。

用户单击三个摘要之一后,弹出窗口将显示用于更改设置的控件。 这种方法降低了UI的复杂性,并使用户更容易专注于对他真正重要的信息。

ical-21

另一个简洁的功能是可以撕下弹出窗口的选项。 当用户将弹出窗口拖动到远离事件的位置时,箭头将消失,然后弹出窗口将变为独立的实用程序窗口(请参见下面的屏幕截图)。 这可以执行多次,以便用户可以并行使用这些窗口中的几个。

ical-3

JavaFX –竞争者

我很高兴得知,透明窗口和粘贴到父窗口的子弹出窗口之类的东西对于JavaFX 8来说可谓小菜一碟,而开发人员所面临的Swing问题一去不复返了。 我的工作结果是产生了如下所示的控件的5个类。

javafx-1

PopupEditor控件是具有其自己的样式表的自定义控件。 它的整个外观可以通过CSS进行控制。 标题和副标题是文本字段,可以进行编辑(“样式化”边框和背景)。 完整的页眉和页脚(带有“删除”按钮)是可替换的节点。

弹出窗口中的不同部分是手风琴控件中“ TitledPane”的子类。 为了使窗格有时显示常规标题文本,有时甚至在带有节摘要的图形节点(上面的屏幕截图仅显示常规标题文本),需要进行子类化。

当标题窗格扩展或折叠时,弹出窗口会自动调整大小。

javafx-2

就像在iCal中一样,用户可以通过在弹出窗口背景内的任何位置开始拖动来撕下弹出窗口。 一旦箭头不再指向“拥有”节点(在上例中为红色按钮),该箭头将消失。 当用户释放鼠标按钮时,弹出窗口将变为常规窗口(可以指定新窗口的类型(实用,透明,修饰等)。)

javafx-3

以下屏幕快照显示了我需要它的调度应用程序中正在运行的弹出编辑器。

甘特弹出

这是一个小视频,显示了一些严重的编辑操作:


参考: Pixel Perfect博客上来自我们JCG合作伙伴 Dirk Lemmermann的JavaFX 8弹出式编辑器

翻译自: https://www.javacodegeeks.com/2013/12/a-popup-editor-for-javafx-8.html

javafx弹出式窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值