schoolpage.java

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

JAVA
59
字号
package cn.com.chengang.jface.dialog.wizard;

import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

public class SchoolPage extends WizardPage {
	private String school;
	private Text schoolText;

	protected SchoolPage(String pageName) {
		super(pageName);
	}

	public void createControl(Composite parent) {
		// 每页的提示信息
		setTitle("用户信息");
		setMessage("请输入您的学校的名称", INFORMATION);
		// 创建一个组件的底层面板,并使用GridLayout布局
		Composite topComp = new Composite(parent, SWT.NULL);
		topComp.setLayout(new GridLayout());
		// 创建“学校”文本框
		schoolText = new Text(topComp, SWT.BORDER);
		schoolText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		schoolText.setText(StringUtils.defaultString(school));
		schoolText.addModifyListener(new MyModifyListener());
		this.setControl(topComp);// 必须要的一行
	}

	// 注释说明请参数NamePage页的监听器,两者现实相似。
	private class MyModifyListener implements ModifyListener {
		public void modifyText(ModifyEvent e) {
			setPageComplete(false);
			school = schoolText.getText().trim();
			if (StringUtils.isBlank(school)) {
				setErrorMessage("学校名不能为空");
				return;
			}
			setErrorMessage(null);
			setPageComplete(true);
		}
	}

	// --------相应的Setter/Getter方法 ---------------
	public String getSchool() {
		return school;
	}

	public void setSchool(String string) {
		school = string;
	}
}

⌨️ 快捷键说明

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