Java 9积极解决Linux中的GTK GUI难题
浏览器窗口中的甲骨文Java图标显示效果。
将Java与该工具包***版本相结合能够避免应用因多GTK版本冲突而遭遇故障。
目前甲骨文公司正计划立足于Linux系统将GTK 3 GUI工具包纳入Java 9当中。此举将保证当前Java与该工具包的***版本加以结合,从而避免应用因多GTK版本冲突而遭遇故障。
根据openjdk.net网站发布的一项Java增强提案,这项举措的目标在于以默认方式支持GTK(即GIMP工具包)2,并在系统属性指定的情况下方行使用GTK 3。基于JavaFX、Swing或者AWT(即先进容器工具包)的各类Java图形应用程序将被纳入该荐规划,而各现有应用程序亦可在无需针对GTK 2或者3进行修改的前提下运行于Linux之上。
这项提案已经被甲骨文公司Java平台部门***架构师Mark Reinhold发送至openjfx-dev邮件名单中的各位成员。Java 9预计将在2017年3月正式发布。
“目前有大量Java软件包在使用GTK,其中包括AWT/Swing、JavaFX以及SWT。SWT已经迁移至GTK 3,但其中仍然包含一项系统属性,可被用于强制其使用早期版本,”这份提案指出。“而这种在软件包内混用不同GTK版本的作法有可能导致应用程序发生故障。”
这一问题还特别影响到各类采用Eclipse开发平台的应用程序。这份提案同时表示,尽管GTK 2与3目前已经以默认方式可用于多数Linux发行版,但仍有一部分发行版方案尚未将其纳入。
同样受到影响的还有GTK+,这套跨平台工具包作为功能部件及API存在,并通过GNU项目以免费软件发布。其被囊括于多种常见项目当中,从Apache OpenOffice办公软件套件到Inkscape矢量图形编辑器再到PyShare图像上传工具皆涵盖其中。
根据这份Java提案,可资替代GTK 2与3的备选方案在于调整Java图形以确保其只支持GTK 3,这将极大降低对移植与测试的需求。不过这套方案可能带来大量无法通过测试发现的bug,意味着我们需要投入额外精力检查AWT外观与使用感受,且要求对JavaFX/Swing中的一者或者二者进行移植。这类移植工作在执行中往往要求对AWT与Swing做出大量协调。
不过曾供职于Sun Microssytems公司的一位前Java管理人员对由此给Java带来的改进效果提出了质疑。“Linux平台上的基于Java的桌面应用程序其实并不多见,因此我不太确定其面向的市场到底有多大规模,”前Sun公司Java EE团队成员、现任Couchbase公司开发者布道副总裁的Arun Gupta强调称。
原文标题:Java 9 to address GTK GUI pains on Linux
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?