该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-12
最后修改:2008-12-12
最新更新:添加对第三方外观(look and feel)的集成。集成方法如下:
在<workspace>/.metadata/org.dyno.visual.swing.lnfs目录下创建目录lookandfeel和一个相应lookandfeel的子目录,并将类库的jar文件和源文件(如果有的话,用来调试)拷贝到该目录下,如下图所示: 用编辑器编辑一个laf.xml文件放在该目录下,内容如下: <?xml version="1.0" encoding="UTF-8"?> <lookandfeel name="JGoodies Look And Feel" class="com.jgoodies.looks.plastic.Plastic3DLookAndFeel"> <classpath jar="looks.jar" src="looks.zip"/> <component class="javax.swing.JLabel"> <property name="text" default="null"/> ...... </component> </lookandfeel> 其中name指定该外观的名称,class指定LookAndFeel类,classpath元素指定类路径(相对于laf.xml所在目录),component元素定义每种组件属性的缺省值(用来代码生成)。 重新启动eclipse,在在Java Project的属性对话框的java build path选择Add Library,然后选择Visual Swing Extension Library,Next之后可以发现该LookAndFeel的类库已经加入了。选择之。如下图所示: 这时的可视化设计器的右键菜单中就会有这个新LookAndFeel的支持,如下图所示: 上图是一个添加JGoodies Look And Feel的例子。 以后会在Eclipse的Preference Dialog中直接配置第三方的LookAndFeel,生成这些文件结构和laf.xml,目前因时间关系只能通过手工配置。 |
|
返回顶楼 | |
发表时间:2008-12-12
最后修改:2008-12-12
下面是我刚才下载了NapkinLookAndFeel并配置之后的结果,呵呵,挺不错的LookAndFeel,很有趣味:-)
|
|
返回顶楼 | |
发表时间:2008-12-19
确实不错,看来楼主的swt/jface,swing都很精通
|
|
返回顶楼 | |
发表时间:2008-12-22
楼主您好
非常喜欢您的插件 简述一下我使用中遇到的问题 TitledBorder不能自定义标题内容 自己改了会被覆盖 jButton1.setText(sdf.format(new Date())); 用样也会被字符串覆盖 只能写死 |
|
返回顶楼 | |
发表时间:2008-12-22
最后修改:2008-12-22
mayday85 写道 楼主您好
非常喜欢您的插件 简述一下我使用中遇到的问题 TitledBorder不能自定义标题内容 自己改了会被覆盖 jButton1.setText(sdf.format(new Date())); 用样也会被字符串覆盖 只能写死 目前的代码解析部分是有一些限制规则的,对于getXXXX内的代码只能设置静态的值,动态的值会被该表达式计算的静态值所代替,你可以将这些代码放在initComponent方法调用之后初始化,这样就不会被覆盖。比如: public class MyJPanel extends JPanel{ ... public MyJPane(){ initComponent(); jTextField1.setText(new Date().toString()); } ... private JTextField getJTextField1(){ if(jTextField1==null){ jTextField1=new JTextField(); } return jTextField1; } } 上面的代码在修改界面设计后,重新生成代码时,jTextField1.setText(new Date().toString());不会被覆盖。 注意initComponent和各个组件的get方法都是这样的,只能修改设置静态的值。比如 private JTextField getJTextField1(){ if(jTextField1==null){ jTextField1=new JTextField(); jTextField1.setText("你好"); } return jTextField1; } 但是除了这些方法外的任何方法都是不会被生成的代码所覆盖的,因此你可以在其他方法中设置这些动态的值并在构造函数中调用。 第一个问题,TitledBorder标题不能更新,我检查一下,的确是一个bug,发现是最近重构代码造成一个回归问题,现在已经修正,只要下载最新版本安装就可以了。 谢谢你反馈的问题! |
|
返回顶楼 | |
发表时间:2008-12-22
最后修改:2008-12-22
为了和Eclipse社区的开源文化和精神相一致,也为了更好的推广,方便商业采用,现在已经把该款工具改成在EPL v1.0(Eclipse Public License version 1.0)授权协议下发布。
|
|
返回顶楼 | |
发表时间:2008-12-22
很好,楼主很厉害。我对Swing还算熟悉。做过基于它的报表设计器。虽然功能不完整,但是一个人做的。不知道怎么参加这个项目和你合作?
|
|
返回顶楼 | |
发表时间:2008-12-23
http://www.iteye.com/topic/299937
用楼主的插件写的记账本 |
|
返回顶楼 | |
发表时间:2008-12-26
swing我不太熟悉,不过还是感谢楼主所做的工作,楼主是个好人!
|
|
返回顶楼 | |
发表时间:2008-12-29
最后修改:2009-03-25
不错,支持!不知道左上角的ico图标能否换掉,swing自带的很难看
|
|
返回顶楼 | |