Group:
Group group1 = new Group(shell, SWT.BORDER);
Group支持的其他style有BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT and SHADOW_NONE。
Group是Composite的子类,拥有和Composite相似的方法,但也有自己的特色方法:如,setText();
Table(表格):
Table table1 = new Table(shell, SWT.BORDER);
支持其他的Style有:BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI,
CHECK (this style creates a check box column as the first column), FULL_SELECTION
and HIDE_SELECTION.
如果表格style属性是FULL_SELECTION,那么表格每列的大小是可以拖动的,选中某一项后该项所处的整行将被选中。
表格属性设置:
table1.setLinesVisible( true);------显示表格线
table1.setHeaderVisible(true); -------------显示头
Table table = new Table(shell, SWT.BORDER);
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(200, 0, 300, 300);
TableColumn column1 = new TableColumn(table, SWT.LEFT);
column1.setText("name");
column1.setWidth(50);
TableColumn column2 = new TableColumn(table, SWT.LEFT);
column2.setText("age");
column2.setWidth(50);
TableColumn column3 = new TableColumn(table, SWT.LEFT);
column3.setText("sex");
column3.setWidth(50);
TableItem item1 = new TableItem(table, SWT.None);
item1.setText(new String[]{"xx","25","男"});
TableItem item2 = new TableItem(table, SWT.None);
item2.setText(new String[]{"xx","25","男"});
上述代码是显示2行3列的一个表格。
TabFolder(选项卡):
TabFolder tabFolder1 = new TabFolder(shell,SWT.BORDER);
tabFolder1.setBounds(10,10,270,250);
//Set up the button tab
Composite buttonComp = new Composite(tabFolder1,SWT.NONE);
Button button1 = new Button(buttonComp,SWT.PUSH);
button1.setSize(100,100);
button1.setText("Hello");
button1.setLocation(0,0);
Button button2 = new Button(buttonComp,SWT.ARROW);
button2.setBounds(150,0,50,50);
TabItem item1 = new TabItem(tabFolder1,SWT.NONE);
item1.setText("Buttons");
item1.setControl(buttonComp);
//Set up the label tab
Composite labelComp = new Composite(tabFolder1,SWT.NONE);
Label label1 = new Label(labelComp,SWT.NONE);
label1.setText( "Here are some labels for your viewing pleasure" );
label1.setBounds(0,0,250,20);
Label label2 = new Label(labelComp,SWT.NONE);
label2.setText( "A label is a fine fingered fiend");
label2.setBounds(0,40,200,20);
TabItem item2 = new TabItem(tabFolder1,SWT.NONE);
item2.setText("Labels" );
item2.setControl(labelComp);
TabFolder 有两个属性经常需要设置 item1.setText("Buttons"); item1.setControl(buttonComp);
第一个是设置选项卡上显示的文字,第二个是设置选项卡点击之后的显示界面。
Menu(菜单):
创建一个菜单栏:
Menu menu = new Menu(shell, SWT.BAR);
shell.setMenuBar(menu);
其中style常量必须为BAR.
创建菜单项:
MenuItem file = new MenuItem(menu, SWT.CASCADE);
file.setText("File");
为菜单项增加子菜单:
Menu filemenu = new Menu(shell, SWT.DROP_DOWN);
file.setMenu(filemenu)
然后可以采用如上的方法为子菜单添加菜单项。
为菜单项添加事件监听:
actionItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
System.out.println("Action performed!");
}
});
Pop-Menu(右键菜单):
Menu menu = new Menu(shell, SWT.POP_UP);
MenuItem menuItem1 = new MenuItem(menu, SWT.PUSH);
menuItem1.setText("file");
menuItem1.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
System.out.println("click");
}
});
shell.setMenu(menu);
注意:菜单的style是POP_UP。
MessageBox(消息框):
创建一个消息框:
MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION |
SWT.YES | SWT.NO | SWT.CANCEL);
messageBox.setMessage("Do you like apples?");
消息框的类型还有:ICON_ERROR, ICON_INFORMATION,
ICON_QUESTION, ICON_WARNING and ICON_WORKING.
返回类型有: OK, OK | CANCEL , YES | NO, YES | NO | CANCEL, RETRY |
CANCEL and ABORT | RETRY | IGNORE.
调用int code = messageBox.open();就可以显示box。
code就是返回值:
switch(response){
case SWT.YES:
System.out.println("Yes, the user likes apples.");
break ;
case SWT.NO:
System.out.println("No, the user does not like apples.");
break ;
case SWT.CANCEL:
System.out.println("The user cancelled.");
break ;
}