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

📄 mydialog.java

📁 SWTJFace篇项目源程序该项目包含 包含了Eclipse下构建swt的基本工程
💻 JAVA
字号:
package cn.com.chengang.jface.dialog;

import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

//注意:JFace包和SWT包都有一个Dialog类,我们继承的是JFace的
public class MyDialog extends Dialog {
	public MyDialog(Shell parentShell) {
		super(parentShell);
	}

	// 在这个方法里构建Dialog中的界面内容
	@Override
	protected Control createDialogArea(Composite parent) {
		// 建议不要直接在parent上创建组件,否则容易导致界面布局混乱。 应该象本例一样再叠加一个topComp面板,然后在此面板创建及布局
		Composite topComp = new Composite(parent, SWT.NONE);
		topComp.setLayout(new RowLayout());// 应用RowLayout面局
		new Label(topComp, SWT.NONE).setText("请输入:");// 加入一个文本标签
		Text text = new Text(topComp, SWT.BORDER);// 加入一个文本框
		text.setLayoutData(new RowData(100, -1));// 用RowData来设置文本框的长度
		return topComp;
	}

	// 改写父类Dialog的getShellStyle方法可以改变窗口的默认式样
	@Override
	protected int getShellStyle() {
		// 用super.getShellStyle()得到原有式样,再附加上两个新式样
		return super.getShellStyle() | SWT.RESIZE | SWT.MAX;
	}

	// 改写父类创建按钮的方法使其失效。参数parent:取得放置按钮的面板;参数id:定义按钮的ID值;
	// 参数label:按钮文字;参数defaultButton:是否为Dialog的默认按钮。
	protected Button createButton(Composite parent, int id, String label, boolean defaultButton) {
		return null;
	}

	// 改写父类的initializeBounds方法,并调用父类的createButton方法建立按钮
	public static final int APPLY_ID = 101; // 定义好“应用”按钮的ID值(整型常量)

	protected void initializeBounds() {
		Composite comp = (Composite) getButtonBar();// 取得按钮面板
		super.createButton(comp, APPLY_ID, "应用", true);
		super.createButton(comp, IDialogConstants.OK_ID, "真的", false);
		super.createButton(comp, IDialogConstants.CANCEL_ID, "算了", false);
		super.initializeBounds();
	}

	// 改变对话框大小为宽300,高400(单位:像素)
	protected Point getInitialSize() {
		return new Point(300, 400);// super.getInitialSize()可以得到原来对话框的大小
	}

}

⌨️ 快捷键说明

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