Text("Click Me");
shell.setSize(200, 200);
shell.open();
while (!shell.isDisposed()) {
if (! display.readAndDispatch()) {
display.sleep();
}
}
display.dispose ();
}
public static void main(String[] args) {
new HelloWorldButton ();
}
}
Eclipse开发经典教程之常用SWT组件(3)
时间:2011-04-11 阿甘
上例中展示了如何在一个窗口中添加一个按钮,程序运行效果如图2所示。
图2 按钮组件
按钮的样式有很多种,在SWT中,CheckBox(复选框)和RadioBox(单选框)都是不同样式的 按钮。
提示:如果按钮为复选框或单选框,可以通过“getSelection”方法判断按钮是否被选中 。
标签
Lable(标签)是SWT组件常用的组件之一。在组件中添加一个标签很简单,只需要指定按钮 的父组件和相应的样式即可,例如“Label label = new Label(shell, SWT.SEPARATOR | SWT.VERTICAL)”语句在shell组件中添加了一个标签。
可以为SWT组件指定复合样式,SWT将按复合样式显示组件,如标签示例,例程2所示。
例程2 HelloWorldLabel.java
public class HelloWorldLabel {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Label label1 = new Label(shell, SWT.WRAP);
label1.setText("very good!");
new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
new Label(shell, SWT.SEPARATOR | SWT.VERTICAL);
Label label2 = new Label(shell, SWT.NONE);
label2.setText ("very good!");
shell.setSize(200, 70);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep ();
}
display.dispose();
}
}
上例窗口中添加了4个标签,并为每个标签设置了不同的显示样式,程序运行效果如图3所 示。
图3 标签组件
标签可以作为显示文本的组件,也可以作为分隔符,如果作为分隔符,标签不显示文字信 息。
Eclipse开发经典教程之常用SWT组件(4)
时间:2011-04-11 阿甘
文本框
Text组件是SWT中的文本框,在组件中添加一个文本框很简单,只需要指定文本框的父组 件和相应的样式即可,例如“Text t = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL)”语句在shell组件中添加了一个文本框。
文本框有多种显示样式,如例程3所示。
例程3 HelloWorldText.java
public class HelloWorldText {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
// 添加单行文本框
new Text(shell, SWT.BORDER);
// 添加右对齐单行文本框
new Text(shell, SWT.RIGHT | SWT.BORDER);
// 添加以密码形式显示的文本框
new Text(shell, SWT.PASSWORD | SWT.BORDER);
// 添加只读文本框
new Text(shell, SWT.READ_ONLY | SWT.BORDER).setText("Read Only");
// 添加多行显示文 本框
Text t = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
//给文本属性赋值
t.setText("very long sting test!very long sting test!very long sting test!"
+"very long sting test! ");
t.setLayoutData(new GridData(GridData.FILL_BOTH));
shell.setSize (200,200);
shell.open();
while (!shell.isDisposed()) {
if (! display.readAndDispatch()) {
display.sleep();
}
}
display.dispose ();
}
}
窗口中添加了5个不同样式的文本框,并为每个文本框设置了不同的显示样式, |