网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.用JAR发布JAVA应用程序.
.代码最优化.NET中的内存管理.
.java入门文章--安装.
.使用XML文件来实现对Servlet的配.
.Java中的排序和搜索.
.使用JDBC创建数据库访问程序.
.int与byte array之间的转换程序.
.一些面向对象的设计法则(4).
.彻底研究Java中的正则表达式.
.在J2ME手机编程中使用字体和颜色.
.Java IDE-NetBeans IDE 4.1 入门.
.Weblogic8.X安装及连接池配置指南.
.Java Socket编程之四.
.使用Web服务和Ja.NET来实现互用性.
.JSSE访问带有未验证证书的HTTPS.
.java线程编程(一):线程基础.
.CRC32算法学习笔记以及如何用jav.
.Java动画编程基础第一部分.
.toLocaleLowerCase 方法.
.Java深入:在Eclipse中如何利用M.

Eclipse Forms设计漂亮UI之高级组件

发表日期:2008-1-5



  Eclipse Forms提供了4个高级组件,这样你能够构建漂亮的UI:eXPandable composite,section,image hyperlink和form text.让我们依次仔细看看它们每一个。

  Expandable composite

  在网页中有个普遍的功能就是让你有能力把一部分网页内容用一个按钮来伸缩它,Eclipse Forms提供了这样一个组件:ExpandableComposite。
 ExpandableComposite ec = toolkit.createExpandableComposite(form.getBody(),  
     ExpandableComposite.TREE_NODE 
     ExpandableComposite.CLIENT_INDENT); 
 ec.setText("Expandable Composite title"); 
 String ctext = "We will now create a somewhat long text so that "+ 
 "we can use it as content for the expandable composite. "+ 
 "Expandable composite is used to hide or show the text using the "  
 "toggle control"; 
 Label client = toolkit.createLabel(ec, ctext, SWT.WRAP); 
 ec.setClient(client); 
 td = new TableWrapData(); 
 td.colspan = 2; 
 ec.setLayoutData(td); 
 ec.addExpansionListener(new ExpansionAdapter() { 
  public void expansionStateChanged(ExpansionEvent e) { 
   form.reflow(true); 
  } 
 });
  这个composite接受一些风格参数来控制它的表现行为.TREENODE风格会用树组件中的按钮来伸展或收缩内容,TWISTIE风格则会创建一个方行的按钮.使用EXPANDED,则初始状态是伸展的.假如用COMPACT风格,组件会报告和标题宽度相合适的宽度并且呈现收缩状态.最后,CLIENT_INDENT会使内容与标题对齐(否则,内容是按照组件的宽度).

  ExpandableComposite有责任处理按钮组件和标题.能扩展和收缩的客户组件必须是expandablecomposite直接的child. 我们需要为组件添加伸展监听器并"通知(reflow)"form在状态改变时.这是因为伸展改变了expandable composite的大小,但是在parent下一次布局前对parent没有任何影响(因此需要强行告诉它).大体上,每次你使form的layout改变时,你需要"reflow"这个form."Reflowing"这个form会让所有组件按照新的尺寸布局并更新滚动条.

  我们的视图现在看起来象这样:
 
Eclipse Forms设计漂亮UI之高级组件(图一)
图11:一个收缩状态的expandable composite例子

  当你点击标题的"+"时,composite伸展出并展示客户:

Eclipse Forms设计漂亮UI之高级组件(图二)

图12:expandable composite呈伸展状态

  expandable composite用到了一个内部layout,这个layout实现了Eclipse Forms ILayoutExtension接口.因此你能够把它加到使用TableWrapLayout布局的parent上,就象我们上面例子中做的一样.

  段落(Section)

  Eclipse Forms定制的组件中最versatile之一就是Section.它继续了expandable composite并介绍了以下的概念:

  1.分隔条(Separator)-一个能够在标题下创建的separator组件.

  2.描述(Description)-在标题下的可选的描述.

  3.标题栏(Title bar)-能在标题下的一个标题栏(注重separator和标题栏不能同时使用)

  下面的代码和expandable composite代码例子差不多:
 Section section = toolkit.createSection(form.getBody(),  

上一篇:深入探讨JavaMail API的使用 人气:617
下一篇:Eclipse Forms设计漂亮UI之布局 人气:804
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐