`
tailsherry
  • 浏览: 136194 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Java GUI 历史之争

阅读更多

最近在收集一些关于AWT, Swing, SWT之间比较的文章,中间接触到一些关于这三大GUI开发工具包的历史,觉得挺有意思,就用自己的文字记录下来。我想,这对于那些从事Java GUI开发的同志们来说,应该是不可缺的一堂历史课。

 

话说20世纪中期,IT界也出现“三国”,他们都用Smalltalk作为武器在IT界打自己的天下,其中有大家今日熟悉的蓝色巨人IBM,还有就是Digital Talk和Parc-Place. IBM和Digital Talk坚信采用本地化组件的战略来打天下,而Parc-Place却坚持采用仿效机制来自绘组件天下。

 

虽然在建国理念上存在冲突,三国之间却一直风平浪静,你走你的独木桥,我走我的阳关道。直到有一天,枭雄IBM揭竿而起,迅速发展国力,军事上逐渐超越另外的两个潜在对手。感觉无法招架IBM的强大威慑力,Digital Talk和Parc-Place决定联盟,组成一个更强大的国家来对抗IBM的强势入侵,起国号为Objectshare。虽然D和P郎情妾意,欢欢喜喜结成连理,哪知道两者性格理念上的差异,为之后的联姻破碎埋下了祸根!

 

婚姻有七年之痒,D和P却从一开始就进入了家庭纷争,但最终还是以Amy Fowler为代表的Parc-Place方,赢得了组件仿效战略的胜利。可此时,IBM已经通过他的本地化组件策略赢得了大片的国土和子民。这能怪谁呢?P和D本来就是不合的一对,为了所谓的理念追求,两者啥事不做竟窝里斗,白白折腾了整整一年!而这,恰恰为IBM的壮大提供了契机。直到有一天,Objectshare因为经济不济,被赶出了历史舞台!似乎此时,IBM已经统一了组件开发的河山,本地化组件的策略似乎也大行其道。

 

历史上没有真正的王者,IT界也是如此。Sun公司此时凭借他的Java AWT开始打江山。殊不知,AWT也采用了IBM本地化组件的策略,但是做出来的效果却不敢恭维,破绽百出。正在此时,处于流亡状态的Amy Fowler得到了SUN的青睐,被委以重任去修复这个破破烂烂的AWT。当然在前面大家都了解到Amy Fowler这个人,他是一直拥护防效机制建立组件的。得到SUN高层的信赖后,Amy开始笼络并召回以前Parc-Place的一些旧部下,开始实施他们的仿效组件策略,创造了另外一个GUI开发标准,也就是我们熟悉的Swing.

 

当然,IBM也没有落后,他的Java开发工具Visual Age也是用Smalltalk写的,当然,也是基于本地化组件策略。由于Java的兴起,他们开始从Smalltalk移植到Java开发页面组件。IBM的那些将士们基本上都是用Smalltalk的,他们都很讨厌基于仿效机制的Swing,讨厌它的丑陋,笨重,破绽重重!于是乎,他们用Java开发了一套本地化组件,也就是我们后来熟知的SWT。后来SWT被移植到Visual Age形成了现在的航空母舰Eclipse。

 

历史就是如此,AWT, Swing和SWT的历史之争就这样一直持续到了现在。天下大势,分久必合,合久必分,希望有一天,有一套通用的Java GUI规范,造福我们这些一直以来用Java武装的将士们。

 

 

1
7
分享到:
评论

相关推荐

    java GUI编程炫酷皮肤包

    Java GUI(图形用户界面)编程是开发桌面应用程序的重要部分,它可以提供丰富的用户交互体验。炫酷的皮肤包为GUI增加了视觉吸引力,使应用更具个性化。本皮肤包专注于为Java GUI应用提供美观、现代的设计元素,以...

    生命游戏javaGUI实现界面十分美观

    《生命游戏:Java GUI实现与美观界面设计》 生命游戏,又称康威生命游戏,是英国数学家约翰·何顿·康威在1970年提出的一种简单的模拟生命现象的数学模型。在这个游戏中,细胞在二维网格上遵循一套简单的规则进行...

    javaGUI开发的小程序

    Java GUI(图形用户界面)开发是Java编程领域中的一个重要部分,它允许开发者创建具有交互性的桌面应用程序。在Java中,我们可以使用多种库来构建GUI,其中最常用的包括Swing和JavaFX。本项目中提到的"javaGUI开发的...

    Java GUI程序设计.pdf

    Java GUI程序设计

    Java GUI

    Java GUI Java 图形用户界面(GUI)是指使用 Java 语言开发的图形用户界面程序设计,它们通常使用 AWT(Abstract Window Toolkit)或 Swing 组件来实现图形化的用户界面。AWT 是 Java 早期的图形界面设计,但是它...

    随机出题系统的java实现,使用java GUI和MySql数据库!

    内容概要:通过程序注释带着读者了解GUI界面构建过程,初步了解 java GUI的使用,理解GUI框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:登陆确认、随机出题、题目文本导入等内容实现。 适合人群:具备...

    Java GUI 美化包

    Java图形用户界面(GUI)美化包是一套专门用于提升Java应用程序界面美观度的工具和库。在Java中,我们通常使用Java Swing或JavaFX来创建GUI应用,但这些默认的组件样式可能相对朴素,不能满足所有开发者对于界面设计...

    Java GUI GUI超市管理系统(mysql+java)

    Java GUI超市管理系统是一款基于MySQL数据库和Java编程语言的软件应用,专为课程设计或小型商业环境中的超市管理而开发。这个系统充分利用了Java的图形用户界面(GUI)库,如Swing或JavaFX,来创建直观易用的操作...

    Java GUI实例下载

    4. **Swing组件**:Swing是Java GUI的主要工具包,它构建在AWT(Abstract Window Toolkit)之上,提供了更为丰富和现代的组件,如JFrame、JPanel、JScrollPane等。Swing组件是轻量级的,意味着它们在性能上优于AWT,...

    使用Java GUI实现用户登陆界面

    在本项目中,我们将探讨如何使用Java图形用户界面(GUI)技术来实现一个用户登录界面。这个任务适合大学二年级的学生作为编程作业,特别是在学习Java基础和GUI编程时。Java GUI允许开发者创建丰富的、交互式的应用...

    java GUI界面的换算工具

    Java GUI界面的换算工具是一种基于Java编程语言开发的应用程序,它主要用于进行各种物理或非物理单位之间的转换。GUI(图形用户界面)是这个工具的核心部分,它为用户提供了一个直观、友好的操作环境,使用户无需...

    java gui源代码

    Java GUI(图形用户界面)是Java编程中一个重要的部分,它允许开发者创建具有交互性的桌面应用程序。本资源包含了一系列的Java GUI源代码,非常适合初学者学习和实践。这些源代码涵盖了多种GUI组件和布局管理器的...

    java GUI生成二维码

    Java GUI生成二维码是一种在Java平台上使用图形用户界面(GUI)创建和显示二维码的技术。二维码,全称为二维条形码,是一种高效的信息编码方式,能够存储大量数据,如文本、URL、联系信息等,并且可以被智能手机等...

    Java GUI万能模板.zip

    Java图形用户界面(GUI,Graphical User Interface)是Java编程中的一个重要部分,它允许开发者创建交互式的桌面应用程序。"Java GUI万能模板"通常是指一套通用的、可复用的代码结构,帮助开发者快速构建GUI应用,...

    JAVA-GUI学生管理系统

    【JAVA-GUI学生管理系统】是一种基于Java图形用户界面(GUI)技术开发的系统,主要用于管理学生信息。在Java编程环境中,GUI(图形用户界面)允许开发者创建交互式的应用程序,使得用户可以通过直观的图形元素如按钮...

    java GUI 生成器

    Java GUI(图形用户界面)生成器是一款工具,它允许开发者通过可视化的方式设计和构建Java应用程序的用户界面,而无需直接编写大量的布局和组件代码。这种工具对于初学者来说尤其有益,因为它降低了学习Java GUI编程...

    Java 应用程序JavaGUI.zip

    JavaGUI,全称为Java图形用户界面(Graphical User Interface),是Java编程语言中用于创建交互式用户界面的技术。JavaGUI允许开发者构建具有按钮、文本框、菜单等元素的桌面应用程序,使得用户可以通过视觉方式进行...

    JAVA GUI编程实例集.rar

    AWT是Java早期的GUI库,基于操作系统原生组件,而Swing是建立在AWT之上的轻量级框架,提供了更丰富的组件和更好的跨平台兼容性。 2. **组件(Components)**:在GUI中,组件如按钮、文本框、标签等是构成用户界面的...

    Java GUI 组件的相关知识

    "Java GUI 组件的相关知识" Java GUI 组件是指使用 Java 语言...Java GUI 组件是开发桌面应用程序的不二之选,具有跨平台性、灵活性和高性能等特点。通过学习 Java GUI 组件,可以更好地开发图形用户界面应用程序。

    JAVA GUI 学自狂神说JAVA

    JAVA GUI

Global site tag (gtag.js) - Google Analytics