When the Eclipse.org consortium set out to build Eclipse, they realized that Swing and AWT were both inadequate for building real-world commercial applications. Consequently, they decided to build a new GUI toolkit to use for the Eclipse interface, borrowing heavily from libraries in VisualAge SmallTalk. They called the new toolkit the Standard Widget Toolkit (SWT). Recognizing that native performance requires native widgets, SWT's designers adopted AWT's peer architecture, falling back on Java implementations only when native widgets didn't exist (for example, tree controls on Motif). Thus, SWT takes the "best of both worlds" approach between AWT and Swing: native functionality when available, Java implementation when unavailable. This guarantees that widgets look and respond comparably to native widgets.
楼主还是算了,放弃吧~
还是用gui工具?
楼主还是算了,放弃吧~我见过不少人抱怨Layout,还没见过人说JTree JTable不好编程,条理不清的.
JTree JTable绝对是条理最清楚的组件,mvc模式,所有的事件都有系统处理,只要写一个model就行.
你想怎么样,JTree你想写单击处理,展开处理,哪才叫搞死人.楼主想用swt,就这样,还是放弃吧,swt的tree和tabel就要自己处理几乎所以事件,所以swt才弄了个jface,它的tree和table就像JTree JTable,用了mvc,隐藏了很多内部处理.
最麻烦的是二者合一
即
Jtable的 Render成JTree,呵呵总觉得,Swing,用起来很麻烦,尤其是render,以及设计其他一些组合在一起的控件
不是一条路上的人,不谈
JAVA的界面布局确实很让人困惑:)
不象在VC里用的那么爽,直接所放即所得了
但在JAVA里,连在Frame里放一个Button都很“难”
不论怎么控制大小和位置都不满意哦:)但JAVA的布局原理既然存在就一定有它生存的道理:
在用其他语言设计窗体时,使用绝对坐标必然导致问题
应为在一个1024*768分辨率下设计好的布局放到
640*480里一切都可能会变化哦所以我们在用其他语言和工具设计窗体时,每次都要
在程序启动前获得当前窗口的分辨率的。但JAVA是跨平台的语言,为了支持它的跨平台,其中的一个机制
就是使用了布局管理器,JAVA有6种布局管理器,通过使用它们
能够设计出很好的界面来,而这些界面一但设计出来,无论在什么
平台上显示都是一个样子的。JAVA就象一杯咖啡,外表涩苦但留醇香于舌尖:)
SWT 有没有谁很熟悉?
在部署时~~那个 dll 怎么办?放到你程序根目录下就可以了或加参数启动。。
或放到system32下。
都不像vb,有时候算坐标要算死~
在开发中,SWT和Swing各有千秋吧,但我喜欢Swing。
也可以手写,不过那要对Layout很熟悉。。做UI,推荐JB!
那默认的样式也太难看
修改起来也摸不到头绪
终于认识到SWING之妙
个中乐趣、便捷和灵活
只有过来人明了
以上是刚刚得来的一点意识,刚刚学,不知走这条路对不对?
继续讨论,我喜欢大家在一起“唧唧歪歪”:)
耐心点,
最近用了一下C# 2005 Express beta,感觉其作界面非常的方便。可惜啊,MS的东西都不能垮平台。
任何一种东西存在即有必要!!!
Swing Component Libraries 这个不错.
http://www.china-pub.com/computers/common/info.asp?id=25601
我用过SWING也用过SWT,做界面SWT比SWING强太多,特别是JFACE的天然优秀的MVC模式,很棒
TableColumnModel columnModel=table.getColumnModel();
TableColumn column=getColumn(i);
table.removeColumn(column)就这么个简单的功能,要获得列模型,再获得列,再删除,我晕。像这种常用的功能都不能封闭,sun太不为开发者考虑了。
-----第一次听说VC是所放即所得了
慢慢等吧,sun 在 GUI 方面本来就不擅长,当然没有办法和 MS 的 VB 比。如果你要在 Unix/Linux 上面运行 GUI 程序,似乎只有用 java Swing 了。其他的,比如 Power Builder,Kylix 等等,也可以用。
setSize 和 setLocation 就好了. 好像目前是不行的.大家说说我的看法对不对.
很好用,Table,Tree都比较好用的
Jface里的Tableview 等等也很好用啊
不一定要用swing的
不象在VC里用的那么爽,直接所放即所得了
但在JAVA里,连在Frame里放一个Button都很“难”
不论怎么控制大小和位置都不满意哦:)但JAVA的布局原理既然存在就一定有它生存的道理:
在用其他语言设计窗体时,使用绝对坐标必然导致问题
应为在一个1024*768分辨率下设计好的布局放到
640*480里一切都可能会变化哦所以我们在用其他语言和工具设计窗体时,每次都要
在程序启动前获得当前窗口的分辨率的。但JAVA是跨平台的语言,为了支持它的跨平台,其中的一个机制
就是使用了布局管理器,JAVA有6种布局管理器,通过使用它们
能够设计出很好的界面来,而这些界面一但设计出来,无论在什么
平台上显示都是一个样子的。JAVA就象一杯咖啡,外表涩苦但留醇香于舌尖:)