JavaFX 8的弹出式编辑器

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

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

iCal –榜样

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

ical-11

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

用户单击三个摘要之一后,弹出窗口将显示用于更改设置的控件。 这种方法降低了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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

body onload 控制窗口大小 html,如何实现在调整浏览器窗口大小时缩放的网页?

感谢所有的建议!看起来我必须做的丑陋的东西是必要的。以下工作(在我的机器上,无论如何)在IE和FireFox中。我稍后可以为CodeProject.com制作一篇文章; - )这个javascript进入< head>部分:var tmout null;var mu…

【Mac命令行学习】(持续更新)

常用命令: 一、修改环境变量文件: 1、进入文件:vi .bash_profile 2、键盘点击【a】键,进入文件编辑 3、修改完成后,如果是vi,点击【esc】键退出编辑模式 4、输入以下命令进行具体操作: :wq 保存…

flex实现水平居中和两栏布局

<!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/><title>水平垂直的实现</title><style>.wrapper{width:25…

opencv 多线程加速_线程池给你写好了,想加速拿来用就行哈

图像拼接实现见&#xff1a;OpenCV源码系列|图像拼接1OpenCV源码系列|图像拼接2耗时在调用函数&#xff1a;Mat pano; Ptr stitcher Stitcher::create(mode); Stitcher::Status status stitcher->stitch(imgs, pano)能否将这一步放进线程池里进行加速呢&#xff1f;1. 测试…

poping 心法

音乐 01.Eamon - (How Could You) Bring Him Home02.The Pussycat Dolls - Buttons03.Most Wanted ft. Fingazz, Volture -From Juvi To The Penitentiary (Instrumental)04.Kaila Yu - Move05.Danity Kane - Show Stopper06.Slick Dogg - Bang On m07.Danity Kane - Show Stop…

G1 vs CMS vs平行GC

这篇文章是我们一年前进行的实验的跟进&#xff0c;比较了现实环境中不同GC算法的性能。 我们进行了相同的实验&#xff0c;将测试扩展为包含G1垃圾收集器&#xff0c;然后在不同的平台上运行了测试。 今年&#xff0c;我们的测试使用了以下垃圾收集器&#xff1a; -XX&#x…

html5 video修改默认样式,HTML5中将video设置为背景的方法

主要用到了video标签&#xff0c;css样式&#xff0c;原理是先将video标签利用position:fixed;使video标签脱离文档流&#xff0c;在将他的z-index设置为最低的&#xff0c;比如-9999。再插入的内容自然就覆盖在视频上面了。1.首先&#xff0c;将video插入到网页中&#xff0c;…

hdfs-03-hdfs客户端操作

1, hdfs中两种连接方式 1), 网页 2), 客户端 文件的切块大小和存储的副本数量&#xff0c;都是由客户端决定&#xff01; 所谓的由客户端决定&#xff0c;是通过配置参数来定的 hdfs的客户端会读以下两个参数&#xff0c;来决定切块大小、副本数量&#xff1a; 切块大小的参数&…

ES6语法的学习与实践

ES6是JavaScript语言的新一代标准&#xff0c;是ECMAScript的第六个版本&#xff0c;加入了很多新的功能和语法&#xff0c;在很多框架&#xff0c;如在使用Vue,React等框架的项目中一般都采用ES6语法来编写的&#xff0c;下面对经常用到的ES6语法做简要的介绍。 1.let,const l…

python闭包的应用场景_简单谈谈Python中的闭包

Python中的闭包 前几天又有人留言&#xff0c;关于其中一个闭包和re.sub的使用不太清楚。我在脚本之家搜索了下&#xff0c;发现没有写过闭包相关的东西&#xff0c;所以决定总结一下&#xff0c;完善Python的内容。 1. 闭包的概念 首先还得从基本概念说起&#xff0c;什么是闭…

这是一次 docker 入门实践

前言 其实接触 docker 也有一段时间了&#xff0c;但是一直没有做下总结&#xff0c;现在网上关于 docker 的介绍也有很多了&#xff0c;本着好记性不如烂笔头的原则&#xff0c;还是自己再记录一波吧。 实现目标 安装 docker ce 探索 docker 基本概念及用法环境准备 Centos7 6…

html dom概念,js学习之HTML DOM的一些基础概念

经过近一个星期,总算把w3chool上的HTML DOM的实例差不多看了一遍,因为本身对其中的很多都用过,所以看起来也很快,现在就再系统的回顾下HTML DOM的一些概念和基础的东西,大部分都是从w3school上看到的什么是DOMDOM是w3c(万维网联盟)的标准DOM定义了访问HTML和XML的标准"W3C…

动态内存(一)

C中&#xff0c;动态内存的管理通过一对运算符来完成&#xff1a; new&#xff1a;在动态内存中为对象分配空间并返回一个指向该对象得指针 delete&#xff1a;接受一个动态对象的指针&#xff0c;销毁该对象&#xff0c;并释放与之关联的内存 说明&#xff1a;new申请的内存位…

DOM基础操作(二)

插入操作 1.appendChild(child); 这个是父级调用的方法&#xff0c;它会将child元素插入到父级里面&#xff0c;而且是放到逻辑后面的位置上。 1 div.appendChild(text); 2 div.appendChild(comment); JavaScript; “复制代码”); “查看纯文本代码”); “返回代码高亮”)…

关于Java垃圾收集

本文讨论的是使用的最受欢迎的框架之一带来的开销–我敢打赌&#xff0c;几乎没有应用程序不使用java.util.Collections。 本文基于以下事实&#xff1a;框架为例如集合的初始大小提供了默认值。 因此&#xff0c;我们有一个假设&#xff0c;即大多数人不会费心地自行管理其收…

ansys命令流_ANSYS命令流建模3之划分单元+施加弹簧

以马蹄形隧道为例&#xff0c;本文介绍如何添加荷载等隧道如上图所示!设置线单元材料属性&#xff0c;划分单元(二衬单元)lsel,s,,,1,6 !LSEL,Type,Item,Comp,VMIN, VMAX,VINClATT,1,1,3 !给线单元付材料号、实常数、单元类型号 LATT, MAT, REAL, TYPE, ESYSMSHKEY,1 …

计算机专业多元协同,项目主导多元协同资源开放—软件技术专业人才培养体系的创新实践.pdf...

第九届全国职业院校计算机系主任年会塑 造 I T 职 业 教 育 竞 争 力中国长沙 2018.10.12项目主导、多元协同、资源开放—软件技术专业人才培养体系的创新实践教授&#xff0c;常州信息职业技术学院副校长&#xff1b;眭碧霞 全国工业和信息化职业教育教学指导委员会委员&#…

Linux 系统中用户切换(su user与 su - user 的区别)

1,su命令 &#xff08;su为switch user&#xff0c;即切换用户的简写&#xff09; 格式&#xff1a;su -l USERNAME&#xff08;-l为login&#xff0c;即登陆的简写&#xff0c;其中l可以省略&#xff09; 如果不指定USERNAME&#xff08;用户名&#xff09;&#xff0c;默认即…

正则表达式常用方法

RegExp对象中的方法 1&#xff0c;test()方法用于检测一个字符串是否匹配某个模式&#xff0c;如果字符串中含有匹配的文本&#xff0c;则返回 true&#xff0c;否则返回 false。 reg规定匹配以a开头的字符串&#xff0c;利用test进行测试&#xff0c;字符串str满足reg匹配规则…

检查您的REST参数!

我正在进行与正在进行的“项目学生”系列相关的研究&#xff0c;并意识到我犯了最常见的错误&#xff0c;也最容易纠正的错误之一。 我并没有利用我对Web应用程序了解的所有知识来向外扩展我的安全范围。 我正在专门考虑UUID参数。 我知道每个有效的外部可见ID都是UUID。 我知…