`
EdwardWorld
  • 浏览: 28364 次
  • 性别: 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
分享到:
评论
203 楼 dong284660528 2009-05-10  
在中国,Java主要用于j2ee的开发,对了swing来说,是被忽视了!!!以后更加会被忽视,因为flex出现了
202 楼 shansun123 2009-05-09  
jolestar 写道



谁说netbeans的字体难看的?你要自己调整一下好不。
哪个把自己的ide的截图也贴出来比较下,能比我这个好看细腻到哪儿?

ps:本人的系统是opensuse 11.

谁说linux上swing慢的?netbeans这么大程序用啥语言写都快不到哪儿去吧。


支持一下
1、人家SUN不是给你做美工的,SUN的那些牛人估计是不屑做这些琐事,所以留给用户自己弄吧。。。(注:这也是SUN完蛋的一个原因?哈哈。。)还有Swing完全可以做出不错的界面的。
2、Swing完全可以做出很炫的界面的,而已有很多比较优秀的designer的,如Netbeans的界面设计器,eclipse的SWT Designer等。这比QT的设计器QT Designer要好用吧。
3、SWT的平台移植貌似并不是很理想的,当然个人还是比较喜欢swt的。还有就是打包的时候那些繁重的swt库(s)
201 楼 leeo 2009-05-09  
vipyami 写道
day 写道
zfwnana 写道
~
SWING在外观比较烂,丑了点。

深有同感 总的来说SWING还是不错的`

为什么总是有这样的成见呢?难道你们做swing真的不去查查其他的lookandfeel吗?非得sun做什么你们用什么吗?再次推荐,看看这个吧:https://substance.dev.java.net/ 几行代码就能让你的UI比你想象的要好看一千倍,任给一个好看,都能比之更好看,就叫好看到极限!而且它是BSD协议哦,啥意思?就是你可以随便用,想咋用咋用,不收任何费用,没有任何负担.

严重同意,还有那ugly的界面。
200 楼 vipyami 2009-05-08  
day 写道
zfwnana 写道
~
SWING在外观比较烂,丑了点。

深有同感 总的来说SWING还是不错的`

为什么总是有这样的成见呢?难道你们做swing真的不去查查其他的lookandfeel吗?非得sun做什么你们用什么吗?再次推荐,看看这个吧:https://substance.dev.java.net/ 几行代码就能让你的UI比你想象的要好看一千倍,任给一个好看,都能比之更好看,就叫好看到极限!而且它是BSD协议哦,啥意思?就是你可以随便用,想咋用咋用,不收任何费用,没有任何负担.
199 楼 minima 2009-05-08  
Java的一些机制在做桌面应用程序,效率很低,对内存的占用量太大。Java的强项就是B/S,为什么非要用在C/S上啊?
198 楼 shiren1118 2009-05-07  
dogg 写道
  5.当用上appframework时候,都用@action标记事件响应了,绝大部分内部类用不着了.世界清静了.

内存不是问题,性能不是问题,关键开发要快,现在都是急功近利,老板都要求:快点,再快点,越快越好,明天就要.





第五点说的非常好。下它的源码看,还是可以学到不少东西的

非常推荐

内部类写多了还是不爽,这个
appframework有窗体记忆,生命周期等功能,还是非常好的
197 楼 jolestar 2009-05-07  
swing的书有两本不错的:

Prentice Hall Filthy Rich Client

Swing Hacks

如果看了这两本swing的书,还觉得swing很烂的再来说可能能说出点东西。

ps:本人对swing也算是刚刚开始了解。以前也报一种偏见,看了这两本书后彻底改观了。今日的swing已经不是以前所swing了。我个人认为swing是绝对有前途的。

下面这个网站是用applet做的webgame,3D游戏。这种效果是用flash也做不出来吧。

http://www.runescape.com

196 楼 jolestar 2009-05-07  



谁说netbeans的字体难看的?你要自己调整一下好不。
哪个把自己的ide的截图也贴出来比较下,能比我这个好看细腻到哪儿?

ps:本人的系统是opensuse 11.

谁说linux上swing慢的?netbeans这么大程序用啥语言写都快不到哪儿去吧。
195 楼 dogg 2009-05-07  
1.swing并不难看,用上substance的时候更漂亮了
2.swing的架构公认的很好,就是代码写起来啰嗦,有经验的和新手写出来代码的差别很大很大.这是和声明式的比较不够简洁明了,所以出来个fx.
3.现在的机器跑起来都很快,完全没有性能问题,前提是界面线程和后台线程要处理好,不要挂住了界面.
4.跨平台是个笑话,windows上写的swing应用,到ubuntu上必然要经过调试的,没有什么都不改就能跑起来,在ubuntu上总是会有一些小问题,比如密码框输入不了等等...
5.当用上appframework时候,都用@action标记事件响应了,绝大部分内部类用不着了.世界清静了.


内存不是问题,性能不是问题,关键开发要快,现在都是急功近利,老板都要求:快点,再快点,越快越好,明天就要.
194 楼 day 2009-05-06  
zfwnana 写道
~
SWING在外观比较烂,丑了点。

深有同感 总的来说SWING还是不错的`
193 楼 zfwnana 2009-05-06  
偶做了2年SWING了~项目也上线过了~,个人觉得SWING不慢,目前做的平台单个操作的响应时间都在2秒左右。相比自己公司的AJAX~应该是快多了~
SWING在外观比较烂,丑了点。
192 楼 Relucent 2009-05-06  
写过SWING也写过SWT,但是感觉桌面应用不是JAVA的强项,而且并非所有软件都需要跨平台。

客户要求的桌面软件多数还是运行在windows系统上的。(你不会指望用户遗忘WIN而去为一个软件学习linux吧),而在windows系统上 C# 明显比 JAVA拥有更多优势。Winform明显比SWING开发效率高。

而且如果只论跨平台的话, C# 理论上也能垮平台的(C# 用的是中间语言),只是目前还没有那么做。
191 楼 wondery 2009-05-05  
引用
swing交付的是毛坯房, 想住的舒服, 自己装修.

使用人数多的产品就是受欢迎的产品!
190 楼 justshare 2009-05-05  
我也支持SWING,以前用它做了个模拟键盘打字的系统,再配合2D,3D效果,那是一个赞啊。
现在好像放在学校里使用呢,专门用来测试非计算机专业同学打字速度。
189 楼 hantsy 2009-05-05  
Java Web Start 很不错,现在我很多 java 程序都是 web start 在线安装的。
188 楼 EdwardWorld 2009-05-05  
fancuixia 写道
呵呵,我们用SWING Applet开发了一套应用系统UI开发平台,后台是SOA(J2EE),基于这个平台开发了ERP产品,也成功实施了一些项目。

我想说:实践证明Swing是个好东西,关键是你怎么用它。Swing Applet经过签名可以在浏览器客户端做任何应用程序可以做的事情,用户感受极好,因为Applet下载到本地其实就是应用程序在执行,要比目前JavaScript UI功能强大很多,速度快很多。

在开发调试阶段,Applet也比JavaScrit便利(使用JBuilder2006)。

不过的确小公司是搞不来Swing Applet的,这个需要积累,需要有人专门做Swing控件,专门搞皮肤,专门搞客户端模板……不过这些投入都是长期受益的,值得投入。Swing本身也许复杂,基于已经做好的模板,使用已经做好的控件,那些不懂Swing MVC模式的初哥也能做出界面复杂、功能强大的用户操作界面。

Swing Applet可以把B/S系统做到和C/S系统一样强大和易用,并且开发人员只需要会使用Java开发,这些就把学习成本降下来了。

当然这只是我个人对Swing的看法。希望大家指正。

用Swing做Applet是大材小用。
如果大规模使用Applet,还不如直接做成C/S结构,或者干脆使用Java Web Start来启动远程服务器上的JAVA应用。
187 楼 fancuixia 2009-05-05  
呵呵,我们用SWING Applet开发了一套应用系统UI开发平台,后台是SOA(J2EE),基于这个平台开发了ERP产品,也成功实施了一些项目。

我想说:实践证明Swing是个好东西,关键是你怎么用它。Swing Applet经过签名可以在浏览器客户端做任何应用程序可以做的事情,用户感受极好,因为Applet下载到本地其实就是应用程序在执行,要比目前JavaScript UI功能强大很多,速度快很多。

在开发调试阶段,Applet也比JavaScrit便利(使用JBuilder2006)。

不过的确小公司是搞不来Swing Applet的,这个需要积累,需要有人专门做Swing控件,专门搞皮肤,专门搞客户端模板……不过这些投入都是长期受益的,值得投入。Swing本身也许复杂,基于已经做好的模板,使用已经做好的控件,那些不懂Swing MVC模式的初哥也能做出界面复杂、功能强大的用户操作界面。

Swing Applet可以把B/S系统做到和C/S系统一样强大和易用,并且开发人员只需要会使用Java开发,这些就把学习成本降下来了。

当然这只是我个人对Swing的看法。希望大家指正。
186 楼 yuhui_bear 2009-05-04  
fsfish 写道
个人感觉桌面应用不是JAVA的强项,我也做过AWT SWING SWT的项目,感觉确实不如VB.DELPHI等快速开发工具方便和便捷,效率上也没有优势,不过如果看JDK的那些JAVA2D JAVA3D的DEMO确实挺赏心悦目的



这个可不见得,  如果你说在 windows 上面, 我只能说,除了ms 系的都排在2号以后,

但是离开windows , java 在其他平台上可是快速开发的头号, 当然mac上面xcode太牛, 个然认为超过dotnet
185 楼 EdwardWorld 2009-05-04  
tomcatlee2003 写道
界面像基于eclipse rcp的,如果是,那就是swt,而不是swing了

你说的是我的工作流引擎么?
完全是Swing,我从来不使用Eclipse,更谈不上使用eclipse rcp了。
Swing做出Eclipse的界面,是小菜一碟,如果我做成Microsoft Office的样子,你会不会说我是使用微软的RCP?

永中Office是使用Swing开发的,界面和Microsoft Office极其相似,你是否觉得永中是微软的全资子公司?
184 楼 tomcatlee2003 2009-05-04  
界面像基于eclipse rcp的,如果是,那就是swt,而不是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