`
EdwardWorld
  • 浏览: 28374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Swing为什么不受重视

阅读更多

我想在JavaEye发表一些Swing的技术文章,都不知道发布到哪个板里去,JavaEye好像完全无视Java GUI的存在,连一个专门的板块都没有。

我觉得Swing还是非常值得学习和应用的,比如我现在的工作,就是做工作流系统,GUI部分就是使用Swing做的。
 
国外Swing应用很广泛,NetBeans是使用Swing做的,Oracle9i的管理平台应该也是基于Swing的。

Java不只是用来做web的,Java的GUI技术也很成熟,非常值得提倡和应用,一提到Java GUI,大家普遍感觉就是慢,是的,比起C++的QT之类的GUI技术,Java是慢了,但是如果想采用跨平台的GUI界面,其实我们可以选择的并不多,QT开放协议刚刚有所放开,SWT跨平台性,事实证明并不理想,所以除了Swing,如果想做跨平台GUI,还真没多少可选择的方案,不过最重要的是,Swing并不像你想象的那么不堪,Swing其实也可以做出很复杂的界面。
所以建议JavaEye开一个Java GUI的板块,以供我们这些做Java Desktop软件的人来参与到JavaEye之中。

纠错:我在跟帖中说QT编写的软件release版体积近百兆,这么表述是错误的,因为我把调试的QtCored4.dll(17.8兆)和QtGuid4.dll(64.3兆)也计算在内了,这两个动态链接库不是必须的,特此纠正,感谢各位朋友的热烈讨论。

 

  • 大小: 549.5 KB
分享到:
评论
123 楼 yashironan 2009-04-27  
javagui 写道
最后指出,如果搞swing/SWT的话,一定要对java的线程熟练掌握,要知道什么不要放到EDT去做,否则swing的界面效率会被连累,也就是所谓的“慢”。
不要单以netBeans来衡量swing的快慢,netbeans也是由鸡肋逐渐修改的产物。


这话很有道理。以我亲身经历来看,很多说“swing很慢”的兄弟,很可能没理解或不知道EDT,event派发机制,listener响应机制,甚至不知道有invokeAndWait() invokeLater()这样的API。一般来说,所有跟网络,IO,数据库打交道的东西,全部用线程池派发执行,完成后由EDT来刷新界面,不可能会有慢的问题。
122 楼 shiren1118 2009-04-27  
ramus 写道
终于把12页各位的评论一字不漏看完了.眼睛好痛..

我仅代表我,作为一个web程序员来说下swing....我是很想用,公司不需要用,要我学,我也不知道到哪去学,像前面的同学所说,没有swing的权威教材(并不是我找借口,想想我是一个web程序员,有自己的项目要做,而且也没人带swing),所以很多同学在之前说了,门槛较高,我也看过很多人的blog,都有说swing好的,,也有说swing差劲的,,说不好的,基本只有几点,界面不好看,速度慢,,就我来说,曾经使用jdk1.4.2做了一个swing的applet程序,是全景看房的,能够实现拖拽,拉远缩小,放大等等功能,机器也不好,还是机器没盖的(-_-!!),并没有感觉到速度慢,倒是用eclipse开发起来慢,运行效率绝对可以,后来用上了netbeans4.5,当时的netbeans怎么说呢,经常出错,,现在要好狠多了,现在自己web的项目基本也都用他.还有说swing好的..我也没觉得swing哪里好,和大多开发C/S语言一样,没什么差别,我记得曾经有一个人说过,当两者没有可比性的时候,那就是拼服务,对于设计语言来说,我想比的就是一个公司对此种语言的支持度,推广度了,,,而这可能也是swing没有流行起来的主要问题,经常在论坛看到,sun对swing不理不睬,,新手看了,就不会踏进门了,,很多对swing的负面说法,其实都是以讹传讹...请各位放下偏见,用程序员最基本的素质--理性,来看待语言或是具有可选择性的东西吧.



呵呵,不要把自己定位为web程序员,程序员c/s的也应该会一种~~
121 楼 shuiwangxing 2009-04-27  
技术不是主要,没有技术实现不了的东西。主要看性价比,看成本.
120 楼 ramus 2009-04-27  
终于把12页各位的评论一字不漏看完了.眼睛好痛..

我仅代表我,作为一个web程序员来说下swing....我是很想用,公司不需要用,要我学,我也不知道到哪去学,像前面的同学所说,没有swing的权威教材(并不是我找借口,想想我是一个web程序员,有自己的项目要做,而且也没人带swing),所以很多同学在之前说了,门槛较高,我也看过很多人的blog,都有说swing好的,,也有说swing差劲的,,说不好的,基本只有几点,界面不好看,速度慢,,就我来说,曾经使用jdk1.4.2做了一个swing的applet程序,是全景看房的,能够实现拖拽,拉远缩小,放大等等功能,机器也不好,还是机器没盖的(-_-!!),并没有感觉到速度慢,倒是用eclipse开发起来慢,运行效率绝对可以,后来用上了netbeans4.5,当时的netbeans怎么说呢,经常出错,,现在要好狠多了,现在自己web的项目基本也都用他.还有说swing好的..我也没觉得swing哪里好,和大多开发C/S语言一样,没什么差别,我记得曾经有一个人说过,当两者没有可比性的时候,那就是拼服务,对于设计语言来说,我想比的就是一个公司对此种语言的支持度,推广度了,,,而这可能也是swing没有流行起来的主要问题,经常在论坛看到,sun对swing不理不睬,,新手看了,就不会踏进门了,,很多对swing的负面说法,其实都是以讹传讹...请各位放下偏见,用程序员最基本的素质--理性,来看待语言或是具有可选择性的东西吧.
119 楼 ych19850810 2009-04-27  
SWING编程接触的不多,主要是公司没有这样的需求,学起来还是蛮有意思的。
118 楼 javagui 2009-04-27  
最后指出,如果搞swing/SWT的话,一定要对java的线程熟练掌握,要知道什么不要放到EDT去做,否则swing的界面效率会被连累,也就是所谓的“慢”。
不要单以netBeans来衡量swing的快慢,netbeans也是由鸡肋逐渐修改的产物。
117 楼 javagui 2009-04-27  
zkgale 写道
周五,我们公司开会,
经理有句话:
我们现在接项目,只找BS,要是有点象CS的,我们都不做...


java的C/S,对于B/S Web开发型的公司,很少有能力做。
116 楼 javagui 2009-04-27  
C/S基本上门槛比B/S要高出一些。
国内70%以上的javaer搞SSH,也是说明java从业人员中低端比重占70%。
115 楼 xiaolin0105 2009-04-27  
swing名字没起好,当然红不了。
114 楼 shiren1118 2009-04-27  
lucky16 写道
night_stalker 写道
就是因为受不了难看缓慢的 Netbeans,才讨厌 Swing 的 ……


你是原来用的Netbeans  老版本嘛?
我像现在的Netbeans不缓慢了吧!



有很多人拿老眼光看nb,原谅吧~~~


nb很帅~
113 楼 lucky16 2009-04-27  
night_stalker 写道
就是因为受不了难看缓慢的 Netbeans,才讨厌 Swing 的 ……


你是原来用的Netbeans  老版本嘛?
我像现在的Netbeans不缓慢了吧!
112 楼 vearn 2009-04-27  
这话真是。。。直面惨淡的人生

让广大swing程序员深深地感到了伤心、痛苦和绝望

抛出异常的爱 写道
founder 写道
我也用Swing编程,但Swing最近几年没有什么发展,Sun也没有投入多少精力放在这个上面。一些企业级开发所需要的组件,JDK里迟迟不能提供(如表格冻结列、日期输入等)。现在的Swing,已经受到很多技术的挑战,优势也在逐渐逝去。

Swing,难道真的已经老去?想想我们以前的投入啊,我希望这一天永远不会到来


没投入.没产出

111 楼 抛出异常的爱 2009-04-27  
founder 写道
我也用Swing编程,但Swing最近几年没有什么发展,Sun也没有投入多少精力放在这个上面。一些企业级开发所需要的组件,JDK里迟迟不能提供(如表格冻结列、日期输入等)。现在的Swing,已经受到很多技术的挑战,优势也在逐渐逝去。

Swing,难道真的已经老去?想想我们以前的投入啊,我希望这一天永远不会到来


没投入.没产出
110 楼 founder 2009-04-27  
我也用Swing编程,但Swing最近几年没有什么发展,Sun也没有投入多少精力放在这个上面。一些企业级开发所需要的组件,JDK里迟迟不能提供(如表格冻结列、日期输入等)。现在的Swing,已经受到很多技术的挑战,优势也在逐渐逝去。

Swing,难道真的已经老去?想想我们以前的投入啊,我希望这一天永远不会到来

109 楼 october731 2009-04-27  
EdwardWorld 写道
fsfish 写道
个人感觉桌面应用不是JAVA的强项,我也做过AWT SWING SWT的项目,感觉确实不如VB.DELPHI等快速开发工具方便和便捷,效率上也没有优势,不过如果看JDK的那些JAVA2D JAVA3D的DEMO确实挺赏心悦目的

那是因为你用Eclipse

如果不是Eclipse  我想问一下开发winform你有什么更好的IDE呢?难道是netBeans???
108 楼 flysheet 2009-04-27  
强烈支持楼主,自己现在也在开发Swing的桌面应用,但确实现在国内做Java GUI开发确实不多,其实Swing显示效果还是可以定制的,因此认为Swing难看而不采用Swing开发我觉得是有失偏颇的
107 楼 timerri 2009-04-27  
pengyue77 写道
timerri 写道
有什么地方值得被重视呢?
性能?架构?还是易用性?
可能唯一还有价值的地方就是跨平台了。但是现在能做到跨平台的方案太多了。

swt方案都可能成为昨日黄花,UI脚本化并且独立于语言才应该是以后的发展方向。还死抓着swing,何必呢。

我只想说,虽然我们都是程序员,可是还是要提高一下人文修养:是明日黄花,不是昨日黄花好吧?


虽然这里是程序论坛,但我还是不介意来谈谈“人文修养”的问题。

对于昨日黄花和明日黄花,历来争论不断。上中学的时候,我曾经查证过成语词典,昨日黄花和明日黄花都是被认可的成语,释义完全一样。唯一的不同是明日黄花有出处,而昨日黄花没有。

明日黄花此词,就语义上来说相对难以理解。在写这段话时,我还权衡过到底使用哪个。最后为了避免不必要的误解,我还是选用了昨日黄花,这样即使不了解这个词的人,也能照字面看出其中的含义。

请再查证一下。
106 楼 laiseeme 2009-04-27  
那么充分掌握swing都要学些什么东西呢?
105 楼 shiren1118 2009-04-27  
KimShen 写道
不是SWING不好 是SWING学习曲线太高. 不花点时间就仓促做出来的东西根本不值得一看啊,但是真正花了时间的童鞋却又没有用武之地

这种身份确实很尴尬


呵呵,认同~~
104 楼 shiren1118 2009-04-27  
jasongreen 写道
不管什么技术,性能不行,我都鄙视



自己用不好,拜说人家不行~~~~~~~

swing就不是给垃圾程序员用的

相关推荐

    AWT与Swing使用区别

    - **Swing**:Swing组件是轻量级的,它们不依赖于底层操作系统,而是完全由Java实现。这使得Swing组件具有跨平台的一致性,并且提供了更丰富的功能和自定义选项。 2. **组件的扩展性和可定制性** - **AWT**:AWT...

    swing开发课件,学习GUI的课程

    Swing的一个重要特性是轻量级,这意味着它不依赖于操作系统提供的GUI组件,这使得Swing的应用程序具有更好的跨平台兼容性。 Swing提供了模型-视图-控制器(MVC)架构,使得代码更加结构化和可维护。例如,JTable...

    Swing做的人事管理系统

    Swing是轻量级的,因为它不依赖于操作系统提供的UI组件,这使得Swing应用具有跨平台性。在这个人事管理系统中,Swing被用来设计和实现图形用户界面,包括菜单、对话框、表格和其他交互元素。 2. **SQL Server数据库...

    swing登录注册界面设计

    学习和掌握swing登录注册界面设计,对于开发者来说,不仅是学习Java Swing开发基本技能的过程,也是提升软件开发能力和效率的重要途径。通过构建出既实用又美观的界面,开发者可以为用户提供更优质的体验,从而提升...

    Java+Swing+Mysql实现通讯录管理系统

    总的来说,这个“Java+Swing+Mysql实现通讯录管理系统”是一个集成了Java后端处理、Swing图形界面设计和MySQL数据库管理的实用应用,它展示了如何将这些技术有效地结合在一起,为用户提供一个便捷的通讯录管理工具。...

    Java-推箱子.zip

    注释的存在意味着代码的可读性和可维护性得到了重视,这对于后续的修改和优化至关重要。 总的来说,这个"Java-推箱子"项目涵盖了Java GUI编程、游戏逻辑设计、对象建模和事件驱动编程等多个方面的知识。通过学习和...

    计算器(TCalculator)

    【描述】该计算器应用的设计目的是为用户提供一个方便的计算环境,无论是进行日常计算还是解决复杂的数学问题。用户可以通过图形用户界面(GUI)直观地输入数字和选择运算符。作者鼓励用户如果有任何疑问或建议,...

    最新版Substance5

    Substance 是一个流行的 Java Swing 主题库,它允许开发者为他们的 Java 应用程序提供丰富的、自定义的外观和感觉。这款最新版 Substance 5...对于那些重视用户界面设计的开发者来说,Substance 是一个不可或缺的工具。

    xcode-maven-plugin-1.4.1.zip

    开源项目通常会有活跃的社区支持,为开发者提供了丰富的学习和协作机会。 在压缩包"swing-shortcut-manager-master"中,我们可能找到以下内容: 1. 项目的源代码文件:包括`.java`文件,这些是用Java语言编写的源...

    Java简明教程

     本书不仅注重知识传授,而且重视对读者创新能力的培养。 本书讲述Java面向对象编程的思想和方法,揭示Java的技术实现内幕和编译上的不完善之处,这对培养读者勤于思考、勇于实践和敢十创新很有帮助。在编排上采用...

    基于Android的家教预约平台app,结合Android、java和sql的前端和后端应用开发

    随着时代的快速发展,知识更新越来越快,家长们对自己孩子的教育也越来越重视,不希望自己的孩子输在起跑线上,因此,越来越多的家长不断搜寻好的老师给孩子做课外辅导。然而,据调查发现,现有的辅导教育机构招聘的...

    StudentListApp.rar_管理 applet

    在当今信息技术高速发展的时代,教育领域的信息化管理也日益受到重视。本文将深入探讨一个名为"StudentListApp"的网络版学生成绩管理系统,它采用Java Applet技术进行开发,旨在提供一种高效、便捷的方式来管理学生...

    UML.rar_java酒店预订_site:www.pudn.com_酒店预订

    开发者可能利用Java Swing或JavaFX库来创建图形用户界面(GUI),这两个库提供了丰富的组件和工具,可以轻松构建出复杂且美观的界面。 动态不规则界面是指界面设计不遵循传统的矩形布局,而是采用更自由、更富创意...

    GUI美化

    GUI美化不仅仅是视觉上的提升,更是对用户体验的重视。Java SE提供了丰富的工具和框架,使开发者能够轻松实现这一目标。通过本文的介绍,相信读者已经掌握了Java界面美化的关键技术和实践方法,期待大家能在自己的...

    JavaEye新闻月刊 - 2010年02月 - 总第24期

    5. **Swing Worldclock - 世界时钟效果**:Swing是Java提供的图形用户界面库,这个示例展示了如何使用Swing创建一个世界时钟,展示了Swing的灵活性和可定制性。 6. **开源作业调度框架Quartz 1.7.1发布**:Quartz是...

    Java面试技巧大全

    面试往往重视候选人的基础知识掌握程度,因为这是评估程序员素质的重要标准。以下是一些Java面试中常见的知识点: 1. **final, finally, finalize的区别**: - `final`:用于修饰变量、方法和类,表示变量不可变、...

    Java.Programming.From.Problem.Analysis.to.Program.Design

    总结来说,Java编程语言因其在教育界的普及和作为计算机科学入门编程语言的地位而受到重视。本书《Java编程:从问题分析到程序设计》不仅涵盖了传统和现代编程风格,也为编程初学者提供了一个系统的编程学习框架。...

    java版bad apple

    总的来说,Java版Bad Apple项目展示了Java在图形编程方面的潜力,同时也对开发者提出了挑战,要求他们具备良好的编程技巧、图像处理知识以及对用户体验的重视。这个项目不仅是对经典作品的致敬,也是Java学习者提升...

    JAVA自学之路

    但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却...

    课程设计报告-ATM柜员机模拟程序.doc

    在本次面向对象程序设计的课程设计中,我们以ATM柜员机模拟程序为题,旨在深入理解和应用图形用户界面(GUI)设计方法,以及熟练掌握Java Swing组件的使用和事件处理程序的编写。以下是详细的设计报告内容: 1. **...

Global site tag (gtag.js) - Google Analytics