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 ; }