网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Web框架wingS发布 2.0 版本.
.Java从入门到精通之工具篇.
.printscreen读取位图转为jpeg格式.
.[webservices开发]XFire实战.
.类访问.
.为JAVA性能而设计(3).
.IBM Java如何做到高性能GC的实现.
.在eclipse中如何用JDK的帮助文档.
.Java入门笔记7_Stream.
.Java企业应用系统框架的比较与选.
.(介绍)WebLogic Platform 8.1崭.
.FreeMarker设计指南(4) (完).
.Java基础类概述.
.Java 继承的一个实例.
.论J2EE开发Web应用程序中的安全认.
.两种最流行的开源CORBA实现.
.java 类型提升的约定.
.Servlet运行环境所需的软件安装及.
.给JavaBeans 增加XPath功能.
.深层克隆.

SWT Layout开发时的注意项!

发表日期:2008-1-5



  这两天,带领组员开发一个很有复杂度的界面,因为组员对SWT的Layout不是很熟悉,所以在界面先后出现了很多问题。有的时候是出现异常,因为Layout和LayoutData不匹配,有时候是显示不出画面。总是,能产生的问题基本都碰到了。

目前的开发思路是先用SWT Designer画界面,然后再手工重构整理,SWT Designer对于重构后的代码便不能再识别了。所以仅仅依靠可视化工具是不行的,还要对SWT界面编码非常熟悉。所以对于SWT Layout的把握就至关重要。

在制作自己的Composite时,一定要注重:

1 外面传入的Composite 一定只用一次,就是在super(parent, style);的时候用,以后自己的所有控件的父亲都是此Composite本身。不要在其他任何地方使用parent了。否则的话,很有可能干扰parent中的内容,造成自身和parent里面其他控件显示错误。

2 每个Composite容器一定都要设置Layout,否则可能会显示不出东西。一般来说都是设置GridLayout, 假如Composite本身就放置一个控件,比如说就放置一个Table,那么也可以用FillLayout。对于新手来说,推荐全部使用GridLayout,否则轻易出现Layout和LayoutData不匹配的情况,而且假如界面很复杂的话,问题是很难找到的。GridLayout完全可以替代其他Layout,实现各种需求(假如有控件重叠的情况,就不行了,就要使用FormLayout)。
下面是一段源码,推荐按照这种方式构建界面。
public class TestComposite extends Composite ...{

private Text text;
/** *//**
* Create the composite
* @param parent
* @param style
*/
public TestComposite(Composite parent, int style) ...{
super(parent, style);
setLayout(new GridLayout());
createArea(this);
}
private void createArea(Composite parent)...{
text = new Text(this, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

final Button button = new Button(this, SWT.NONE);
button.setText("button");
}

@Override
public void dispose() ...{
super.dispose();
}
}
上一篇:另类查询 Hibernate HQL 深度历险 人气:1252
下一篇:在Hibernate中配置Proxool连接池 人气:1251
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐