阅读更多

26顶
3踩

编程语言

原创新闻 关于Swing的六个谎言

2008-11-28 09:25 by 见习编辑 Eastsun 评论(60) 有38463人浏览
  你觉得Swing很慢吗?你觉得Swing界面很难看吗?你觉得Swing即将死亡了吗?...Adam Bien 来告诉你:谎言,这一切都是谎言
  Adam Bien在他的博客Six Swing Lies中提到关于Swing的六个不真实的说法:

1。Swing很慢
  我大约从1999/2001年间开发我的第一个Swing项目,那个时候用的还是P4 400 MHz,128 MB - 256 MB RAM配置。很多软件都存在性能问题,但Swing没有。确实,经常有人会造成Swing UI block的情况,但我认为这不能归为Swing性能问题。

2。Swing太过复杂
  在我看来,Swing简单易懂。这儿确实有着各种UI组件以及一些良好设计的事件,但对一个大型的应用来说,这些是必须的。我曾给一些非Java程序员介绍过Swing,在一个较短的时间后他们就能用Swing构建出令人惊讶的复杂的应用。
Eastsun按:说Swing简单易懂我觉得有点过了;不过Swing设计的很优雅这是事实。而且我也认为对于一个可用的UI库来说,复杂是不可避免的。如果Java能够早点支持闭包的话,其事件机制应该可以简化不少。

3。Swing界面很丑陋
  总地来说,Swing界面好不好看,取决于你的设计水平。Swing本身并没有任何限制。况且,这里已经有一些非常棒并且免费的Look&Feel:substance, nimbus,napkin
Eastsun按:这个napkin很好玩:-)

4。Swing与操作系统集成不好,看起来不够native
  Eclipse, Office 2007难道就native了吗?Eclipse看起来确实不错,但并不像Vista。而且,看起来是不是native,在项目中并没有这种需求。此外,与操作系统集成在Java6中已经得到很大的改进。

5。JavaFX将会取代Swing
  JPA 会取代JDBC, Swing Java 2D 或 JSF吗?目前大部分JavaFX组件是基于Swing的,而且现在Swing广泛应用在大公司中。

6。因为Sun不再支持SwingX,Swing将很快死亡
  Swing是JDK的一部分。Java的"deprecated"机制到现在为止事实没有从JDK中移除过任何东西。况且即便在JDK1.6+中出现的JConsole与VisualVM也是基于Swing的。Netbeans也是基于Swing的。还可以参看这篇博客
26
3
评论 共 60 条 请登录后发表评论
60 楼 lliiqiang 2015-09-18 15:16
flash不仅仅将界面制作交给了美工,而且界面制作在flash文件中,而代码在as文件中,flash引用as代码执行,这样就实现了美工与程序之间地彻底分离。
59 楼 lliiqiang 2015-09-18 15:14
什么时候swing界面设计交给美工,什么时候swing就好看了。
58 楼 javafan_303 2012-06-29 18:50
在我看来swing就是依托臭狗屎,界面丑陋的无与伦比,什么狗屎substance全是扯淡
57 楼 kanalun 2011-03-11 16:25
事实上sun确实不再支持Swing了?可以这么说么?
56 楼 zhuchengyi 2010-04-02 17:13
  
55 楼 狂奔蜗牛 2009-09-09 17:18
我要知道SWING 的粉丝!
54 楼 geminiyellow 2009-03-05 08:51
引用
Swing界面很丑陋
  总地来说,Swing界面好不好看,取决于你的设计水平。
53 楼 Eastsun 2008-12-02 22:45
ray_linn 写道

PS: java 6 update 10所谓的快,竟然采用的是比较无耻的方式,在后台加载了一个jqs.exe 耗费用户20M的内存.


囧,莫非你装的JDK和我的不一样?
我用的JDK6U10也有个jqs.exe,但内存占用量只有1,384K,怎么扯也扯不到20M
52 楼 icewubin 2008-11-30 19:23
ray_linn 写道

你倒越扯越离谱,性能不佳你扯到跨平台干什么?

明明是你强调winform也能跨平台在先,那种以性能为代价且很不成熟的跨平台技术能和QT这类的跨平台技术相提并论么?
51 楼 hite 2008-11-30 18:07
chenshuang1227 写道


东软大吗,华信大吗,惠普大吗,为什么都用spring

惠普不敢说。但是其他的我说不大!自己不能说自己大
50 楼 Eastsun 2008-11-30 17:54
关于外观,其实是很主观的一个东西
比如我使用Netbeans,一开始我喜欢使用Windows的Look&Feel
出了JDK6U10后,用了一段时间的Nimbus
但现在,我突然喜欢使用Metal的Look&Feel了
Metal的Look&Feel除了一些颜色感觉不太协调外,其它感觉还是很不错的。
49 楼 fyting 2008-11-30 17:40
不过说实话,那几个还不如office、VS2005的look feel好看。
http://officelnfs.sourceforge.net/
48 楼 fyting 2008-11-30 17:31
晕,一回车就提交???
引用
3。Swing界面很丑陋
  总地来说,Swing界面好不好看,取决于你的设计水平。Swing本身并没有任何限制。况且,这里已经有一些非常棒并且免费的Look&Feel:substance, nimbus,napkin。

没人否认Swing可以作出无比好看的界面来,只是,你能让这默认界面好看那么一点点么?

引用
4。Swing与操作系统集成不好,看起来不够native
  Eclipse, Office 2007难道就native了吗?Eclipse看起来确实不错,但并不像Vista。而且,看起来是不是native,在项目中并没有这种需求。此外,与操作系统集成在Java6中已经得到很大的改进。

netbeans也不像Vista,office2007也不像Vista,所以说netbeans和office2007同样地适合普通人民的感观,那甚至有可能,netbeans比office2007更好看。
47 楼 fyting 2008-11-30 17:27
引用
3。Swing界面很丑陋
  总地来说,Swing界面好不好看,取决于你的设计水平。Swing本身并没有任何限制。况且,这里已经有一些非常棒并且免费的Look&Feel:substance, nimbus,napkin。


4。Swing与操作系统集成不好,看起来不够native
  Eclipse, Office 2007难道就native了吗?Eclipse看起来确实不错,但并不像Vista。而且,看起来是不是native,在项目中并没有这种需求。此外,与操作系统集成在Java6中已经得到很大的改进。
46 楼 fyting 2008-11-30 17:26
引用
3。Swing界面很丑陋
  总地来说,Swing界面好不好看,取决于你的设计水平。Swing本身并没有任何限制。况且,这里已经有一些非常棒并且免费的Look&Feel:substance, nimbus,napkin。


4。Swing与操作系统集成不好,看起来不够native
  Eclipse, Office 2007难道就native了吗?Eclipse看起来确实不错,但并不像Vista。而且,看起来是不是native,在项目中并没有这种需求。此外,与操作系统集成在Java6中已经得到很大的改进。
45 楼 ray_linn 2008-11-30 16:34
icewubin 写道

ray_linn 写道
当java fans没理由的时候,能不能不拿跨平台毛出来说么? winform当然可以通过mono跑到linux上. QT简单得很,有MFC经验的人,2个小时就能上手. 我是java fans么?你怎么知道的?我现在是Flex fans。 跨平台难道不能说呢?mono性能不佳,我还说跑个完整的虚拟机什么跨平台都没问题呢,这都能拿出来说?你一会儿说性能问题,一会儿又拿出mono,我看你才是前后自我矛盾呢。



你倒越扯越离谱,性能不佳你扯到跨平台干什么?
44 楼 ray_linn 2008-11-30 16:33
PS: java 6 update 10所谓的快,竟然采用的是比较无耻的方式,在后台加载了一个jqs.exe 耗费用户20M的内存.
43 楼 mathgl 2008-11-30 16:26
swing 确实在linux下中文支持一般。。非得要改些什么才行。
mono的winform倒是能正常显示/输入中文,就是比较难看
42 楼 hantsy 2008-11-30 11:21
allenny 写道

Eastsun 写道allenny 写道这些我全都承认,但是我的NetBeans在Linux下经常无法输入,失去焦点,我Google了,很多人说是Swing的问题,有大虾可以解决吗?你可以看看这个帖子NetBeans你让我又爱又恨,换个输入法吧Scim, Fcitx, ibus都试过了,而且都是先卸载再安装的,还是不行,真是郁闷极了

好像没有什么问题啊(Fedora 10, Java 6 update 10, NetBeans 6.5)不过我很少程序中写过中文。
41 楼 allenny 2008-11-29 22:46
Eastsun 写道

allenny 写道这些我全都承认,但是我的NetBeans在Linux下经常无法输入,失去焦点,我Google了,很多人说是Swing的问题,有大虾可以解决吗?你可以看看这个帖子NetBeans你让我又爱又恨,换个输入法吧

Scim, Fcitx, ibus都试过了,而且都是先卸载再安装的,还是不行,真是郁闷极了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java swing 搭建图形用户界面一:(窗口与菜单)

    java 的优势在于网络编程与多线程,但其作为一门全场景语言,依然提供了强大的GUI开发API,这·些API封装在jaivax.swing中,通过命令javax.swing.*导入包中。 这一系列通过3~5篇文章,以可运行代码为例简单介绍...

  • sun和java_Sun和Java Swing 2.0的故事

    【IT168 评论】这是一个很长的话题,自从“Sun:放弃Swing,主推JavaFX”,“Sun...在关于Swing的争论中,要求Sun继续支持Swing的声音不断,一些开发者也澄清了大众对Swing的错觉,详见“关于Swing的六个谎言”。...

  • Swing程序设计(1)

    import javax.swing.*; public class Demo extends JDialog { public Demo(JFrame frame) { super (frame,"对话框标题",true);//父窗体对象,对话框标题,是否阻塞父窗体 Container c=getContentPane();//获取...

  • Swing程序设计(2)

    // 初始化一个面板,设置2行2列的网格布局 c.setLayout(new GridLayout(2, 2, 10, 10)); //设置小面板里的布局 JPanel p1 = new JPanel(new GridLayout(1, 3, 10, 10)); p1.add(new JButton("1"));// 在面板中添加...

  • 跨平台到底是不是谎言?

    前几天是个神奇的日子,博客园里咣咣咣地出现了三篇文章,都包含了“跨平台”和“谎言”这两个关键字。...关于“跨平台”这个问题,我感觉还是要分“客户端”和“服务器端”两个方面来谈,或者说“表现层”或“服务层

  • 深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

    下面通过虚构一个动词词性的新单词,看看GPT-3能否很好地把握新单词的含义: To “screeg” something is to swing a sword at it. An example of a sentence that uses the word screeg is: We screeghed at each ...

  • 专访顾伟:从机械工程师到资深软件工程师、再到微软MVP的蜕变

    用Swing做过一些简单的桌面软件,后来也利用JSP、Servlet、JavaBean、JDBC、Tomcat等开发过一些MIS系统,再后来用JavaEE领域著名的轻量级框架SSH(Structs 1.x、Spring、Hibernate)做过一个稍大规模的业务系统。...

  • 多家权威机构、几十篇权威证据证明:Java比C++更快。如果反对,请举反证。

    驳“.net比java快”的谎言 http://nuclearjava.blogchina.com/1902610.html 摘要: C++的速度是由C++编译器在程序员开发时编译出来的机器语言的优化程度决定的。 Java的速度是由Java的JIT和HotSpot编译器将java ...

  • 海龟交易法则笔记

    结果偏好:人们倾向于根据一个决策的结果而不是本身的质量来判断它的好坏 2.2海龟交易策略: 交易风格: 趋势跟踪:几个月内大趋势 反趋势交易:市场的支撑与阻力机制 波段交易 swing trading:短期市场动向 当日...

  • 编程学习日志

    之所以会选择学习编程来就业,其实也是因为现在是某211的经济管理学院的学生,上网查了一下自己这个专业将来的薪资,很低。因为家里穷,而且我是一个男人,我将来要养家,我根本不敢去赌。    现在在大学...

  • BOSS战的设计与架构

    每个人心里都有自己最喜欢的BOSS,类似“10大顶尖首领战”这样的话题总是能成为引发许多讨论。 根据维基百科,最早的BOSS是1975年的RPG游戏龙与地下城中的金龙,此后这种玩法日益丰富。 而对于游戏设计者而言...

  • Java游戏编程技术-1

    不过,呵呵,相信大家也知道这是一个谎言!我上了大学后发现别人告诉我的东西根本没有不存在,差一点被害得在毕业时都入不了IT行业,还谈什么游戏开发了。结果搞了10年的EPR应用开发--因为得先填饱自己肚子实现了...

  • 中国本土化编程 汉语编程 之我见

    或者说,6个版本还真要让我准备6个ide吗?!天,若当真世界上有朝一日普及了易语言,除了易语言公司之外,恐怕没什么人会高兴起来吧? 我一直认为,文字的作用,即“在最段时间内,准确且清晰地记录最大量信息的工具...

  • 我购买的第一本技术课外书:《Excel图表之道》

    摘自:http://blog.zhaojie.me/2010/06/is-cross-platform-a-lie-or-not.html<br />前几天是个神奇的日子,博客园里咣咣咣地出现了三篇文章,都包含了“跨平台”和“谎言”这两个关键字。从Java开始谈到.NET,...

  • Java VS C/C++ 运行速度的对比

    http://blog.sina.com.cn/s/blog_99baab530102wj4e.htmlJava与C++相比的优点在于:u ...而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全,但牺牲了速度。同时因为Java中所有类都会继承O...

  • 东营市乡镇边界,矢量边界,shp格式

    矢量边界,行政区域边界,精确到乡镇街道,可直接导入arcgis使用

  • Java SSM 商户管理系统 客户管理 库存管理 销售报表 项目源码 本商品卖的是源码,合适的地方.zip

    毕业设计

  • 075.JSP+SQL宿舍管理系统.zip

    毕业设计

  • 经验贝叶斯EB的简单例子

    经验贝叶斯EB的简单例子

  • 69页-智慧园区综合管理平台解决方案.pdf

    智慧园区,作为现代城市发展的新形态,旨在通过高度集成的信息化系统,实现园区的智能化管理与服务。该方案提出,利用智能手环、定制APP、园区管理系统及物联网技术,将园区的各类设施与设备紧密相连,形成一个高效、便捷、安全的智能网络。从智慧社区到智慧酒店,从智慧景区到智慧康养,再到智慧生态,五大应用板块覆盖了园区的每一个角落,为居民、游客及工作人员提供了全方位、个性化的服务体验。例如,智能手环不仅能实现定位、支付、求助等功能,还能监测用户健康状况,让科技真正服务于生活。而智慧景区的建设,更是通过大数据分析、智能票务、电子围栏等先进技术,提升了游客的游玩体验,确保了景区的安全有序。 尤为值得一提的是,方案中的智慧康养服务,展现了科技对人文关怀的深刻体现。通过智慧手环与传感器,自动感知老人身体状态,及时通知家属或医疗机构,有效解决了“空巢老人”的照护难题。同时,智慧生态管理系统的应用,实现了对大气、水、植被等环境要素的实时监测与智能调控,为园区的绿色发展提供了有力保障。此外,方案还提出了建立全域旅游营销平台,整合区域旅游资源,推动旅游业与其他产业的深度融合,为区域经济的转型升级注入了新的活力。 总而言之,这份智慧园区建设方案以其前瞻性的理念、创新性的技术和人性化的服务设计,为我们展示了一个充满智慧与活力的未来园区图景。它不仅提升了园区的运营效率和服务质量,更让科技真正融入了人们的生活,带来了前所未有的便捷与舒适。对于正在规划或实施智慧园区建设的决策者而言,这份方案无疑提供了一份宝贵的参考与启示,激发了他们对于未来智慧生活的无限遐想与憧憬。

Global site tag (gtag.js) - Google Analytics