posts - 495,  comments - 11,  trackbacks - 0

package swt.expandbar;

import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.ExpandBar;
import org.eclipse.swt.widgets.ExpandItem;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;

public class WindowStyle {

public WindowStyle() {
   final Display display = Display.getDefault();
   final Shell shell = new Shell(SWT.MIN);
   shell.setText("ExpandBar练习");
   shell.setSize(200, 518);
   shell.setLayout(new FillLayout());
  
   ExpandBar expandBar = new ExpandBar(shell,SWT.V_SCROLL);
   {
    Composite comp1 = new Composite(expandBar,SWT.NONE);
    comp1.setLayout(new GridLayout(2,false));
    new Label(comp1,SWT.NONE).setImage(new Image(display,"icons/default.gif"));
    new Link(comp1,SWT.NONE).setText("<a>查看系统信息</a>");
   
    new Label(comp1,SWT.NONE).setImage(new Image(display,"icons/doc.gif"));
    new Link(comp1,SWT.NONE).setText("<a>添加/删除程序</a>");
   
    new Label(comp1,SWT.NONE).setImage(new Image(display,"icons/main.gif"));
    new Link(comp1,SWT.NONE).setText("<a>更改一个设置</a>");
    ExpandItem item1 = new ExpandItem(expandBar, SWT.NONE);
    item1.setText("系统任务");
    item1.setHeight(75);// 设置Item的高度
    item1.setControl(comp1);// setControl方法控制comp1的显现
   }
  
   {  
    Composite comp2 = new Composite(expandBar,SWT.NONE);
    comp2.setLayout(new GridLayout(2,false));
    new Label(comp2,SWT.NONE).setImage(new Image(display,"icons/computer.gif"));
    new Link(comp2,SWT.NONE).setText("<a>网上邻居</a>");
    new Label(comp2,SWT.NONE).setImage(new Image(display,"icons/inc.gif"));
    new Link(comp2,SWT.NONE).setText("<a>我的文档</a>");
    new Label(comp2,SWT.NONE).setImage(new Image(display,"icons/folder.gif"));
    new Link(comp2,SWT.NONE).setText("<a>共享文档</a>");
    new Label(comp2,SWT.NONE).setImage(new Image(display,"icons/cmd.gif"));
    new Link(comp2,SWT.NONE).setText("<a>控制面板</a>");
    ExpandItem item1 = new ExpandItem(expandBar, SWT.NONE);
    item1.setText("其他位置");
    item1.setHeight(95);// 设置Item的高度
    item1.setControl(comp2);// setControl方法控制comp1的显现
   }
  
   {
    Composite comp3 = new Composite(expandBar,SWT.NONE);
    comp3.setLayout(new GridLayout());
   
    // setup bold font
    Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);
    Label l = new Label(comp3,SWT.NONE);
    l.setText("我的电脑");
    l.setFont(boldFont);
   
    new Label(comp3,SWT.NONE).setText("系统文件夹");
   
    ExpandItem item1 = new ExpandItem(expandBar, SWT.NONE);
    item1.setText("详细信息");
    item1.setHeight(50);// 设置Item的高度
    item1.setControl(comp3);// setControl方法控制comp1的显现
   }
  
   shell.layout();
   shell.open();
  
   while(!shell.isDisposed()) {
    if(!display.readAndDispatch())
     display.sleep();
   }
   display.dispose();
}


public static void main(String[] args) {
   new WindowStyle();
}
}

以上程序中会用到7个icon小图片,把他们放置在工程根目录下的icons目录下

运行效果:

Tags:java,rcp,jface,swt,ibm,eclipse,ui,gui

posted on 2008-05-04 16:42 jadmin 阅读(186) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: