⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 namepage.java

📁 这是用SWT程序写的对话框程序Dialog视图
💻 JAVA
字号:
/**
 * @作者:陈刚
 * @Email:glchengang@yeah.net
 * @Blog:http://blog.csdn.net/glchengang
 */
package jface.dialog.wizard;

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 NamePage extends WizardPage {
    private Text nameText;

    private Text emailText;

    private String nameTextValue;

    private String emailTextValue;

    /**
     * 继承父类的构造函数
     */
    protected NamePage(String pageName) {
        super(pageName);
    }

    /*
     * 改写父类的createControl方法,在此方法里构建页面上的界面组件。注意不要在
     * 传入参数parent基础直接创建界面元素,而应在一个新面板topComp上创建
     */
    public void createControl(Composite parent) {
        //创建一个组件的底层面板,并使用GridLayout布局
        Composite topComp = new Composite(parent, SWT.NULL);
        topComp.setLayout(new GridLayout());
        //创建“姓名”文本框
        nameText = new Text(topComp, SWT.BORDER);
        nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        nameText.setText(nameTextValue == null ? "" : nameTextValue);//防空值
        nameText.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                dataChanged(); //输入值的合法性判断
            }
        });
        //创建“Email”文本框
        emailText = new Text(topComp, SWT.BORDER);
        emailText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        emailText.setText(emailTextValue == null ? "" : emailTextValue);
        emailText.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                dataChanged();
            }
        });
        //每页的提示信息
        setTitle("用户信息");
        setMessage("请输入您的姓名及Email", INFORMATION);
        //必须要的一行
        this.setControl(topComp);
    }

    /**
     * 自定义方法。数据变化时对数据的合法性做检查
     */
    private void dataChanged() {
        if (nameText.getText().length() == 0) {
            setErrorMessage("姓名不能为空"); //提示错误信息
            setPageComplete(false); //使“完成”和“下一步”两按钮不可用
            return;
        }
        if (emailText.getText().length() > 0) {
            if (emailText.getText().indexOf("@") < 0) {
                setErrorMessage("Email的格式错误");
                setPageComplete(false);
                return;
            }
        }
        setErrorMessage(null); //消除对话框上的出错提示文字
        setPageComplete(true); //使“完成”和“下一步”两按钮可用
    }

    /*
     * --------相应的set/get方法 ---------------
     */
    public String getName() {
        nameTextValue = nameText.getText();
        return nameTextValue;
    }

    public void setName(String string) {
        nameTextValue = string;
    }

    public String getEmail() {
        emailTextValue = emailText.getText();
        return emailTextValue;
    }

    public void setEmail(String string) {
        emailTextValue = string;
    }

}

⌨️ 快捷键说明

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