前几天看了点新闻,一是说JavaFX1.0的推出,二是是说Sun停止了对SwingX的资助,由此激怒了社区。
由此一些人推论Sun已经全力押宝JavaFX,Swing将沦为鸡肋。而后Sun的高管自然出面表态,Swing和JavaFX两手都要硬。
由于本人一直从事企业信息系统的管理和研发,平日对Swing还是多有涉猎,看到这些传闻不免要探个究竟。其实最近忙于管理工作,技术上已多日不熟了。于是下载了NetBeans6.5 JavaFX版,顺便装了个JDK1.6 update11,这一试却是大获惊喜,同时对Sun的JavaFX策略深感怀疑。
惊喜在于经过多年的等待和失望,Swing居然真正快了起来,启动速度几乎提高了一倍以上。这对于Swing的爱好者们无异打了一针鸡血!老实说,Swing一直以来是设计精品、性能垃圾,从Applet时代开始,大家就一直是恨铁不成钢,期待了很多年了,直到期待到绝望。以至于本人怀疑Swing的性能也“只能如此了”。于是大家才会去折腾设计上莫名其妙的Swt,才会毅然决然地把Applet扔到一边,硬啃代码丑陋的Flex。经过多年的批判,很多初学者早已习惯把“Swing很烂”当做公理。其实经过多年发展和实践,Swing的架构设计是超优秀,跨平台也是目前最完善的,“慢”才是Swing的真正硬伤。可惜Sun一直对这个问题视而不见,才导致了这种明珠暗藏的局面。
也许Sun还是要靠买高端的服务器挣钱吧,所以从来对“慢”这个问题相当麻木。以至于众多从Java时代成长起来的程序员已经逐渐习惯了“慢”,甚至找出各种借口说“慢”已经不是问题。结果如何呢,EJB渐成笑柄,而Swing这种超经典GUI(除MS的各大系统级厂商由于要跨平台,故Swing是GUI首选)总是令人不满,根本性的问题其实还是“慢”,这甚至让爱好者都难于启齿。与之相对的是,MS恰恰是最重视“ 快、慢”问题的,君不见Windows的GUI就是快,MS的软件上手也是快,随之是滚滚而来的钞票。等Vista一“慢”,连MS都不好使了,大家不买帐了。所以对于用户而言,“使用快”永远是个硬道理。其实对于程序员而言,“开发快”也永远是个硬道理,只不过在这方面是相对的,面对不同规模和生命周期的系统,各种技术是难有定论的。几经折腾,笔者还是坚守中庸主义的Java。
这几年RIA之风日渐疯狂,人们早起习惯大谈Flex、 Ajax,甚至新出炉的SliverLight,全然忘记了Java起家时的Applet在十多年前早已是RIA的先行者。作为后起之秀的Flex强在哪里,其实最主要是“快”,运行快、安装快、开发快。或许迟钝的Sun终于感到了耻辱,才开始下决心解决这个“慢”的问题。NetBeans的GUI设计器算是解决了开发“慢”的问题,更重要的是JRE update10之后终于可以让爱好者享受一下不输于winform和swt的速度感了。以Swing经典的架构设计、完善的跨平台特性,优秀的可扩展性,笔者实在找不到不用Swing的理由了。以现在而论,针对Internet的JavaFX尚不完善(连NetBeans都不能可视化设计,且标记化的语言实在是够乱的),大家不必胡乱跟风。但企业应用则可以好好考虑一下JApplet或者Swing Application,与其死磕乱糟糟的JS和Flex(对于习惯了Java的程序员来说),不如享受一下All in Java的乐趣。
分享到:
相关推荐
基于javafx、javaSwing、spring boot 开发权限管理系统。
这篇名为“在Swing界面中嵌入JavaFX运行的视频”的博客文章探讨了如何将JavaFX的视频播放能力整合到Swing应用中,以提升用户体验。 首先,我们需要理解Swing和JavaFX之间的交互。虽然Swing是早期的UI库,但JavaFX因...
5. **Swing集成**:在“可以用Swing打开的JAVAFX的贪吃蛇”部分,可能涉及到JavaFX与Swing的互操作。JavaFX提供JSwingComponent类,允许在JavaFX应用中嵌入Swing组件,或者反之亦然。这使得一个已经使用Swing构建的...
集成SWING和JAVAFX时,可以使用`JFXPanel`将JAVAFX场景嵌入到SWING窗口中。这样可以在保持SWING主框架的同时,利用JAVAFX的高级特性。此外,还需要处理好事件监听,确保用户操作能够正确地传递给对应的播放逻辑。 ...
java权限管理系统桌面客户端 基于javafx、javaSwing、spring boot 开发权限管理系统。
### JavaFX Script 语言教程(面向Swing程序员) #### 概述 JavaFX Script 是一种专为简化图形用户界面(GUI)开发而设计的声明式编程语言,它为Java平台带来了一种全新的编程范式。JavaFX Script 提供了一系列...
在Java中,调用摄像头并非Swing库的直接功能,而是通过Java Media Framework (JMF) 或者更现代的Java Media API如JavaFX来实现的。JMF是一个用于处理媒体内容(包括音频、视频)的平台,它可以捕捉、播放、处理和...
通过阅读这份教程,Swing开发者可以了解如何将已有的编程经验迁移到JavaFX平台上,学习如何利用JavaFX Script 创建更具吸引力和交互性的应用程序。教程可能包括以下部分: - JavaFX Script 的基础知识:语法、数据...
尽管标题中提到了Java Swing,但JavaFX的出现意味着开发者可能在某些部分或整个项目中使用了JavaFX以增强用户体验。 总的来说,这个客户信息管理系统展示了Java在桌面应用开发中的强大能力,结合了GUI设计、数据库...
JavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rar
该项目是一个基于Java技术栈,融合了JavaFX和Swing的桌面应用程序,旨在为初学者提供一个实践编程技能的平台,特别是对于Java语言的学习者。通过这个桌球小游戏,开发者可以学习到如何用面向对象编程原则来设计游戏...
本文件为java文件,主要内容为java课程设计中的风扇模拟代码,采用javafx
* 项目名:Java课程设计——饭卡管理系统(JavaSwing、JavaFX、MySQL) * @author :第四维度 * 创建时间:2021-6-21 * 采用JavaSwing、JavaFX设计UI界面,结合MySQL数据库进行增删改查操作,功能较为完善 * 包含...
JavaFX Script? (下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-class functions)、声明式的...JavaFX 脚本式语言特别适用于Java2D swing GUI 组件,它能够简单地创建图形界面。
6. **JavaFX Swing**: 为了让JavaFX与传统的Swing组件兼容,提供了`javafx.swing.jar`,允许在JavaFX应用中嵌入Swing组件,或者在Swing应用中使用JavaFX的部分功能。 7. **JavaFX SWT**: 类似于JavaFX Swing,`...
- 添加JavaFX 11库到项目构建路径中,如Maven或Gradle的依赖管理。 - 在代码中导入必要的JavaFX包和类。 - 创建和配置场景图,定义用户界面布局。 - 实现业务逻辑和事件处理。 总之,JavaFX 11是一个强大且灵活...
Java自制浏览器,支持Flash,各个版本的ui框架都有,具备所有IE内核具备的功能,拓展功能比如F5,比如前进后退,比如查看源代码,键盘...里面包含javafx的,swing的,swt三个版本的java浏览器,功能强大,供大家对比
这个“JavaFX之HelloWorld部署之为jar签名事宜”主要探讨的是如何在JavaFX项目中创建一个简单的"Hello, World!"程序,并将其打包成可执行的JAR文件,同时对这个JAR文件进行签名,以便于在不同环境下的安全分发和执行...