list1.java

来自「SWTJFace篇项目源程序该项目包含 包含了Eclipse下构建swt的基本」· Java 代码 · 共 60 行

JAVA
60
字号
package cn.com.chengang.swt;

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 List1 {
	public static void main(String[] args) {
		final Display display = Display.getDefault();
		final Shell shell = new Shell();
		shell.setSize(327, 253);
		// ---------创建窗口中的其他界面组件-------------
		final List list = new List(shell, SWT.BORDER | SWT.MULTI);
		list.setBounds(16, 11, 100, 45);

		// 设值按钮
		Button setButton = new Button(shell, SWT.NONE);
		setButton.setBounds(17, 65, 100, 25);
		setButton.setText("设值");
		setButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				list.removeAll(); // 先清空combo,以防多次按下“设值”按钮时出现BUG
				list.add("语文"); // 加入Combo显示值
				list.add("数学");
				list.add("政治");
				list.setData("语文", "YW");// 设置显示值的代表值
				list.setData("数学", "SX");
				list.setData("政治", "ZZ");
				list.select(new int[] { 0, 2 }); // 设置第一、三项为选择项
			}
		});

		// 取值按钮
		Button getButton = new Button(shell, SWT.NONE);
		getButton.setBounds(136, 66, 100, 25);
		getButton.setText("取值");
		getButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				StringBuilder bud = new StringBuilder();
				for (String s : list.getSelection())// getSelection返回所有选择项组成的String数组
					bud.append(s).append(list.getData(s)).append(", ");
				MessageDialog.openInformation(null, null, bud.toString());
			}
		});
		// -----------------END------------------------
		shell.layout();
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?