JavaFX技巧9:请勿混用Swing / JavaFX

JavaFX团队非常努力地说服我们,因为可以将Swing内容嵌入JavaFX UI中,因此可以很容易地从Swing迁移到JavaFX。 我必须承认,我从来没有亲自尝试过,但是根据我从客户那里得到的反馈,我只能建议不要将Swing和JavaFX混合使用。 在撰写本文时,与Swing集成(在JavaFX问题管理系统中注册)相关的未解决问题(120多个错误)已超过200个。

发行类型

以下是如果您仍然决定使用它可能遇到的问题列表:

  • 外观 –在Swing中完成的部分与在JavaFX中完成的部分之间总会有明显的差异。 字段将显示不同的字体质量 ,不同的边框,不同的焦点突出显示等。
  • 闪烁 –您可能会在用户界面中遇到闪烁
  • 行为 -控件的行为会有所不同。 用户将可以使用手势滚动JavaFX控件,但不能滚动Swing控件。 双击两个列标题之间的行时,JavaFX TableView控件的列将自动调整大小,而Swing JTable则不会。
  • 线程 –您一直在处理与使用两个不同的UI线程(Swing EDT和JavaFX应用程序线程)有关的问题。 您将遇到死机的UI和不一致的状态问题。
  • 窗口管理 –很难/不可能控制哪个窗口将在哪个其他窗口之上以及哪个窗口阻止其他窗口的输入(模态) 。 弹出窗口可能不再自动隐藏 。
  • 焦点处理 – 错误的窗口可能会引起焦点。 Swing控件和JavaFX控件之间的焦点遍历可能不起作用。
  • 上下文菜单 –您可能无法通过单击UI的其他位置来关闭菜单,或者最终可能同时打开两个上下文菜单(一个由JavaFX控制,一个由Swing控制)。
  • 光标 –在不同的控件/组件上设置不同的光标将无法正常工作 。
  • 拖放 – 无论是在SwingNode本身内还是在Swing与JavaFX之间,异常都将继续存在。
  • 性能 -混合了Swing组件的JavaFX控件的性能/渲染速度将降低 。

结论

这是什么意思? 好吧,这意味着如果您遵循Swing / JavaFX混合策略,最终将不会节省时间。 至少如果质量对您而言不重要。 如果您只关注使功能可用,那么,也许可以,但是如果您想发布商业化的研究生/专业应用程序,则不会。

如果您已决定迁移到JavaFX,那么请执行Full Monty并在JavaFX中重做整个应用程序,这是值得等待的。

翻译自: https://www.javacodegeeks.com/2014/07/javafx-tip-9-do-not-mix-swing-javafx.html

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

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

相关文章

[ZJJOI2013]K大数查询 整体二分

[ZJJOI2013]K大数查询 链接 luogu 思路 整体二分。 代码 #include <bits/stdc.h> #define ll long long using namespace std; const ll _5e57; ll read() {ll x0,f1;char sgetchar();for(;s>9||s<0;sgetchar()) if(s-) f-1;for(;s>0&&s<9;sgetchar(…

javax.el.PropertyNotFoundException: Property [Xxxx] not found on type Xxx.xxx.xxxx.Xxxx]的解决办法...

当我将后台数据传递给jsp&#xff0c;用${requestScope.user.Id}取值时报错&#xff0c; 最后发现entity实体类的属性不能首字母大写然后再小写&#xff0c;例如 int Age&#xff1b;这个就不行&#xff0c;必须写成int age; 最后问题解决了 转载于:https://www.cnblogs.com/Th…

react学习目录

前面的话 React是如今热门的两大前端框架之一&#xff0c;它设计思路独特&#xff0c;性能卓越&#xff0c;逻辑简单&#xff0c;受到了大量开发者的喜爱。Vue的基本思路是基于HTML模板的扩展&#xff0c;而React的基本思路是基于JS语言的扩展。由于Vue的写法更接近于传统&…

JavaFX技巧13:学习Modena CSS文件

到目前为止&#xff0c;这是最简单&#xff0c;最短的提示。 如果要执行以下任何操作&#xff1a; 了解如何使用CSS 使您的自定义控件看起来像标准控件 重用标准控件使用的SVG路径图形&#xff08;例如&#xff0c;滚动条箭头&#xff09; 弄清楚如何浏览标准控件的结构 确…

委托之异步

在 使用BackgroundWorker组件 一文中&#xff0c;阐述了在Winform编程中&#xff0c;使用BackgroundWorker组件实现异步调用&#xff0c;本文主要讲述利用委托实现异步。 以下描述摘抄于MSDN: 异步委托提供以异步方式调用同步方法的能力。 当同步调用委托时&#xff0c;Invoke(…

[NOI2010]超级钢琴 主席树

[NOI2010]超级钢琴 链接 luogu 思路 和12省联考的异或粽子一样。 堆维护n个左端点&#xff0c;每次取出来再放回去次 代码 #include <bits/stdc.h> #define ll long long using namespace std; const int _5e57,INF0x3f3f3f3f; int read() {int x0,f1;char sgetchar();fo…

【MSP430单片机】IIC 篇

一、转载于:https://www.cnblogs.com/wangsure/p/10734745.html

纹理文本

前面的话 本文将通过多种方式实现纹理文本的效果 背景裁切 对于实现纹理文本的效果&#xff0c;脑海中最直接能想到的办法可能是背景裁切background-clip 使用线性渐变来填充文本背景 <style>.box-with-text { background-image: linear-gradient(135deg,hsl(50, 100%, 7…

ORACLE EXP/IMP 说明

Oracle 的导出导入是一个很常用的迁移工具。 在Oracle 10g中&#xff0c;Oracle 推出了数据泵(expdp/impdp). 它可以通过使用并行&#xff0c;从而在效率上要比exp/imp 要高。 在Oracle 10g和11g的官方文档里没有搜到有关exp/imp 的说明&#xff0c; 在9i里找到了相关的使用说…

JAXB –新手的观点,第1部分

我知道你们很多人已经在想什么了&#xff0c;所以让我们摆脱它&#xff1a;“ JAXB&#xff1f; 如XML&#xff1f; 来吧&#xff0c;所有很棒的孩子都在使用JSON。” 关于XML与JSON的争论以及许多促成它的论据都已被很好地记录在案。 我不会花很多时间在这里重新整理它们。 我…

初识C语言(五)

自定义函数 C语言提供了大量的库函数&#xff08;右侧资料下载中有&#xff09;&#xff0c;比如stdio.h提供输出函数&#xff0c;但是还是满足不了我们开发中的一些逻辑&#xff0c;所以这个时候需要自己定义函数&#xff0c;自定义函数的一般形式&#xff1a; 注意&#xff1…

bzoj2916: [Poi1997]Monochromatic Triangles 思路

bzoj2916: [Poi1997]Monochromatic Triangles 链接 bzoj 思路 总方案\(C_{n}^{3}-异色三角形\) 异色三角形有个特点。 会出现两个点有两条不同色的边。 然后统计就行了。 代码 #include <bits/stdc.h> #define ll long long using namespace std; const int _5e37; int n…

nodeJS实现简单网页爬虫功能

前面的话 本文将使用nodeJS实现一个简单的网页爬虫功能 网页源码 使用http.get()方法获取网页源码&#xff0c;以hao123网站的头条页面为例 http://tuijian.hao123.com/hotrank var http require(http);http.get(http://tuijian.hao123.com/hotrank,function(res){var data ;…

不能上网原因(查)

实验室不能上网原因记录&#xff1a;如果不是你电脑原因&#xff0c;很可能就是路由器和dns设置的问题。。把dns设置为寝室校园网专用dns试试可能就好了。。 网页打不开&#xff0c;浏览器打不开&#xff0c;这是上网时候广大网友经常碰见的问题&#xff0c;本文将针对网页打不…

JavaFX技巧6:使用透明颜色

为用户界面元素选择正确的颜色始终是一个很大的挑战&#xff0c;但是当您开发可重用的框架控件时&#xff0c;开发人员就无法控制使用它们的应用程序的外观和感觉&#xff0c;这甚至更具挑战性。 尽管您可能总是将元素添加到默认的灰色背景之上&#xff0c;但是嵌入控件的开发人…

bzoj2287【POJ Challenge】消失之物 缺一01背包

bzoj2287【POJ Challenge】消失之物 缺一01背包 链接 bzoj 思路 分治solve(l,r,arr)表示缺少物品\([l,r]\)的dp数组arr。 然后solve(l,mid,arr)用右边的物品更新&#xff0c;solve(mid1,r,arr)同理。 \(f(n)2*f(\frac{n}{2})(r-l1)*m\) 复杂度为\(O(nmlog{n})\) 缺点最短路也是…

38.QT-QAxObject快速写入EXCEL示例

参考链接: https://blog.csdn.net/czyt1988/article/details/52121360 http://blog.sina.com.cn/s/blog_a6fb6cc90101gv2p.html 1. QAxObject介绍 在QT中,有个自带的QAxObject类,可以直接操作EXCEL 除此之外,当我们操作某个文件夹下的EXCEL的时候,都会在该文件夹下出现一个隐藏…

EA常见画图(类图、包图、构件图、状态图、顺序图、活动图)

EA常见活动图&#xff0c;状态图画法 类图:111&#xff08;1&#xff09;给关系添加注释&#xff08;2&#xff09;设置关系线样式 包图&#xff1a;&#xff08;1&#xff09;创建包图&#xff08;2&#xff09;在包中添加子包&#xff1a;&#xff08;3&#xff09;在包中添加…

比萨问题–建造者与装饰者

问题陈述 我们需要为一家披萨公司构建软件&#xff0c;该公司想要准备各种类型的披萨&#xff0c;例如鸡肉披萨&#xff0c;扁平面包&#xff0c;意大利辣香肠披萨和额外的奶酪&#xff0c;并在上面放些配料。 让我们尝试看看哪种设计模式适合该问题说明以及在哪种情况下。 传…

系统启动

1.开机2.bios加电自检power on self test 由于此时显卡还未初始化&#xff0c;只能靠声音辨别错误3.将boot sector读入0000&#xff1a;7c00处4.检查0000&#xff1a;7def是否等于0xaa555.跳转到0000&#xff1a;7c00处执行MBR程序6.MBR将自己复制到0000&#xff1a;0600处执行…