swt的常用组件button ,text ,combo,list ,还有一些容器类composite ,group,这里选择几个,列写简单的用法
不写解释了,因为代码很简单,而且代码上的注释足以说明.
1,combo 和text
package com.test;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class CTShow {
private static List list;
private static Combo combo;
private static Text text;
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(478, 120);
shell.setText("combo and text");
shell.open();
//构造text
text = new Text(shell, SWT.BORDER);
text.setBounds(160, 34, 281, 20);
//构造combo
combo = new Combo(shell, SWT.NONE);
combo.setItems(new String[] {"one", "two", "three", "four"});
combo.setData("one", "1");
combo.setData("two", "2");
combo.setData("three", "3");
combo.setData("four", "4");
combo.setBounds(28, 34, 102, 20);
//添加监听器
combo.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
String selText = combo.getText();
String selValue = (String)combo.getData(selText);
text.setText("text: " + selText + " value: " + selValue);
}});
shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
2,list、 button 、messagebox
package com.test;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
public class LBMShow {
private static List list;
/** *//**
* Launch the application
* @param args
*/
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(192, 217);
shell.setText("list and button and messagebox");
//
shell.open();
//构造list
list = new List(shell, SWT.BORDER|SWT.MULTI|SWT.V_SCROLL);
list.setItems(new String[] {"语文", "数学", "英语", "物理", "化学"});
list.setData("化学", "HX");
list.setData("物理", "WL");
list.setData("语文", "YW");
list.setData("数学", "SX");
list.setData("英语", "YY");
list.setBounds(29, 25, 100, 75);
//构造button
final Button button = new Button(shell, SWT.NONE);
button.setText("提示");
button.setBounds(48, 121, 58, 22);
//添加监听器
button.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
for (String str : list.getSelection()) {
//messagebox提示
MessageDialog.openInformation(null, null, str);
}
}
});
shell.layout();
//消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
3,group组
package com.test;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class GroupShow {
private static Text text;
public static void main(String[] args) {
final Display display = Display.getDefault();
Shell shell = new Shell();
shell.setText("group");
shell.open();
//构造group
final Group group = new Group(shell, SWT.NONE);
group.setText(" 组 ");
group.setBounds(41, 28, 143, 100);
//把按钮放在group中,注意new Button(group这里
final Button button = new Button(group, SWT.NONE);
button.setText("按钮");
button.setBounds(42, 59, 48, 22);
//构造text
text = new Text(group, SWT.BORDER);
text.setBounds(32, 28, 80, 25);
//
shell.layout();
while(!shell.isDisposed()){
if (!display.readAndDispatch()){
display.sleep();
}
}
}
}