Java9积极解决Linux中的GTK GUI难题
来源:互联网 发布:sql count1什么意思 编辑:程序博客网 时间:2024/06/14 06:44
将Java与该工具包最新版本相结合能够避免应用因多GTK版本冲突而遭遇故障。
目前甲骨文公司正计划立足于Linux系统将GTK 3 GUI工具包纳入Java9当中。此举将保证当前Java与该工具包的最新版本加以结合,从而避免应用因多GTK版本冲突而遭遇故障。
根据openjdk.net网站发布的一项Java增强提案,这项举措的目标在于以默认方式支持GTK(即GIMP工具包)2,并在系统属性指定的情况下方行使用GTK3。基于JavaFX、Swing或者AWT(即先进容器工具包)的各类Java图形应用程序将被纳入该荐规划,而各现有应用程序亦可在无需针对GTK2或者3进行修改的前提下运行于Linux之上。
这项提案已经被甲骨文公司Java平台部门首席架构师MarkReinhold发送至openjfx-dev邮件名单中的各位成员。Java 9预计将在2017年3月正式发布。
“目前有大量Java软件包在使用GTK,其中包括AWT/Swing、JavaFX以及SWT。SWT已经迁移至GTK3,但其中仍然包含一项系统属性,可被用于强制其使用早期版本,”这份提案指出。“而这种在软件包内混用不同GTK版本的作法有可能导致应用程序发生故障。”
这一问题还特别影响到各类采用Eclipse开发平台的应用程序。这份提案同时表示,尽管GTK2与3目前已经以默认方式可用于多数Linux发行版,但仍有一部分发行版方案尚未将其纳入。
同样受到影响的还有GTK+,这套跨平台工具包作为功能部件及API存在,并通过GNU项目以免费软件发布。其被囊括于多种常见项目当中,从ApacheOpenOffice办公软件套件到Inkscape矢量图形编辑器再到PyShare图像上传工具皆涵盖其中。
根据这份Java提案,可资替代GTK 2与3的备选方案在于调整Java图形以确保其只支持GTK3,这将极大降低对移植与测试的需求。不过这套方案可能带来大量无法通过测试发现的bug,意味着我们需要投入额外精力检查AWT外观与使用感受,且要求对JavaFX/Swing中的一者或者二者进行移植。这类移植工作在执行中往往要求对AWT与Swing做出大量协调。
不过曾供职于 SunMicrossytems公司的一位前Java管理人员对由此给Java带来的改进效果提出了质疑。“Linux平台上的基于Java的桌面应用程序其实并不多见,因此我不太确定其面向的市场到底有多大规模,”前Sun公司JavaEE团队成员、现任Couchbase公司开发者布道副总裁的Arun Gupta强调称。
转载自:http://blog.sina.com.cn/s/blog_13dd968a30102vw0x.html
- Java9积极解决Linux中的GTK GUI难题
- linux gui gtk
- linux GUI-directfb+gtk
- {linux}开源GUI之GTK
- 基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用
- 基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用
- 基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用
- 基于GTK+和X-window的GUI在嵌入式Linux中的应用
- 基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用
- 基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
- [转]嵌入式linux GUI--DirectFB + GTK
- Java9 中的Jshell 操作
- zstu 2554 过河卒
- Hbase hirachical structure
- Linux socket 本地进程间通信
- 观察者模式
- mysql创建触发器错误提示:Can not update in stored function/trigger already used by statement invoked
- Java9积极解决Linux中的GTK GUI难题
- VS2012发布网站详细步骤,同样适合vs2013,亲身试过
- 强行删除mac中的文件
- x86 子函数调用过程分析
- [leetcode] 190. Reverse Bits 解题报告
- Android中BindService和StartService
- 【poj1838】Bananas——并查集
- Object之超级奶爸一
- [kaggle实战] Digit Recognizer -- 从KNN,LR,SVM,RF到深度学习