论坛首页 Java企业应用论坛

Swing是一把刀

浏览 86481 次
该帖已经被评为精华帖
作者 正文
   发表时间:2010-06-30  
jjx 写道
dxiao2 写道
jjx 写道
界面不错

不过实际使用中,这么多tab page ,查询数据要占用大量的内存

可以预料的这个程序内存占用已经不行了

其实erp程序界面不需要漂亮,简单,并且要易于扩展(这个很重要),因为erp 的功能可能很复杂,在一个界面上会展示多个功能


不知道大哥是怎么预料出来的...你不会把tab page想像成网页了吧



tabpage 里没控件了,控件不用内存吗?重要的是里面的数据,一个网格几百上千个对象不占内存吗?


首先界面漂亮和易于扩展是不冲突的吧.难道功能复杂了就要导致界面难用吗,什么逻辑啊? 功能越复杂 界面的设计越重要, 这样用户才有更好的操作体验 不是吗.

tabpage里的控件当然用内存 貌似没有什么东东是不需要内存的吧.

这个又不是在手机上开发的程序 貌似每个单元格作为对象出现不会成为性能瓶颈吧.再说 你完全可以用filter去过滤表格里的数据 得到你想要的部分.
0 请登录后投票
   发表时间:2010-06-30  
xiaozhonghua 写道
dxiao2 写道
lz说开发swing部分大概用了一周时间
我觉得还是非常有效率了

我觉得swing开发起来还是比较慢
当你的页面相对简单 比如一个JTable 几个JComboBox 几个JTextField的时候 还好
如果是复杂界面 比如有几十个组件混合排版 并且组件之间数据载入还有逻辑关系.每个组件都需要n个加监听器来控制别的组件
我觉得这个工程量就很大了吧.

提一个问题
请问lz通常使用什么layout来布局组件
谢谢


谢谢支持,其实一周时间确实比较仓促,还有不少细节需要优化和完善一下。不过,这个东西作为一个小UI框架,是直接可以被复用到不同的项目中去的。从这个角度来说,这一两周花的还是很值。

Swing的layout确实比较烦人的一个事情。如果用IDE的话,我推荐NetBeans里面的GUI编辑工具,它使用的实际是Matisse这个layout。这里有两篇文章:
http://wiki.netbeans.org/UsingGUIEditor
http://netbeans.org/features/java/swing.html

如果手写代码,我还是推荐一个超强但比较复杂的TableLayout。这里有其介绍:
http://java.sun.com/products/jfc/tsc/articles/tablelayout/

其他简单的布局,大多可以用Swing内置的几个layout搞定。另外尽量多套用Panel进行嵌套,化繁为简。不要试图一次一个Panel+Layout把一个复杂的界面搞定,那样会很累。


我现在用的就是xml配置组件位置 添加监听器 设置组件属性
我用的布局是MultiSplitPaneLayout
感觉很多时候都要用panel嵌套. 我觉得这个其实也不是个好办法. 只是个替代方法.
因为白白创建了那么多JPanel 觉得很不爽.
0 请登录后投票
   发表时间:2010-06-30   最后修改:2010-06-30
开发的慢是因为没有自己的组件

没人会每开发一个组件都重头来

布局不好是没有自己的布局管理器,朋友,swing玩转玩不转还是看积累

最快的更改外观的方式是设置Theme,不信可以试试,手动setFont和在THeme里面设置font的启动速度

走SynthLookandFeel那一路的xml加载速度是最慢的,国外有评测NimbusLookAndFeel速度是最慢的

另外用SynthLookandFeel还要自己写painter,对美工也不是很方便,除非都是用图片

界面漂亮不漂亮关键看自己的ps水平,自己先ps出来再用java2d实现,不过要是有美工朋友或者用图片也可以,个人不喜欢用图片

另外顶楼主,开发的相当不错
0 请登录后投票
   发表时间:2010-07-01  
看了后 让我改变了swing的不成熟认识

有时间好好看看swing,这一块还是有潜力的,只是需要时间
0 请登录后投票
   发表时间:2010-07-01  
当时我就惊呆了..   学习 c/s程序框架中
0 请登录后投票
   发表时间:2010-07-01  
献上我06年做的一款IM,可惜是SWT做的,如果能用Swing的话效果更加。



我不理解桌面时代为什么那么多不了解Swing的人鄙视Swing,我一直看好Swing的高度的自定义组件的能力。可惜未来是移动、甚至是移动浏览器的天下。HTML5、JavaScript及其各种框架将实现客户端的大一统局面。不是Swing不行、而是桌面应用过时了。
2 请登录后投票
   发表时间:2010-07-01  
javagui 写道
献上我06年做的一款IM,可惜是SWT做的,如果能用Swing的话效果更加。



我不理解桌面时代为什么那么多不了解Swing的人鄙视Swing,我一直看好Swing的高度的自定义组件的能力。可惜未来是移动、甚至是移动浏览器的天下。HTML5、JavaScript及其各种框架将实现客户端的大一统局面。不是Swing不行、而是桌面应用过时了。

哇果然是高手,厉害厉害!
0 请登录后投票
   发表时间:2010-07-01  
javagui 写道
献上我06年做的一款IM,可惜是SWT做的,如果能用Swing的话效果更加。
我不理解桌面时代为什么那么多不了解Swing的人鄙视Swing,我一直看好Swing的高度的自定义组件的能力。可惜未来是移动、甚至是移动浏览器的天下。HTML5、JavaScript及其各种框架将实现客户端的大一统局面。不是Swing不行、而是桌面应用过时了。


桌面市场并没缩小,只不过移动手持的市场后劲十足,HTML必然能将触角涉及移动领域,但未必如楼上javagui所言HTML5统一天下,移动世界的技术依然是百花齐放,分久必合合久必分的历史规律早就注定没有谁能统一一切,哪怕是apple和google。

我从2001年就开始搞flash到现在,我依然能依靠flash技术养家糊口,我们公司做的桌面game也能跑到android上


0 请登录后投票
   发表时间:2010-07-13  
恩,但是感觉swing的东西貌似用起来有点延时
0 请登录后投票
   发表时间:2010-07-20  
看了楼主的系列贴,才知道浮躁是我的最大敌人
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics