SWT 如何打开新窗口

在一个登陆窗口中,判断登陆信息,然后如何弹出新窗口... 在一个登陆窗口中,判断登陆信息,然后如何弹出新窗口 展开
 我来答
百度网友635e5d4
2010-06-19 · TA获得超过1488个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:0
展开全部
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class ShellTest {
/*
* 通过display来创建shell Shell(Display display)
*/
public static void createShell1() {
// 新建一个Display对象
Display display = new Display();
// 根据已创建的Display对象新建一个冲困Shell对象
// Shell的实例表示当前受Windows所管理的窗散链念口
Shell shell = new Shell(display);
// 设置shell的大小(宽度和高度)
shell.setSize(500, 500);
// 设置shell的窗口名
shell.setText("shell demo");
// 打开shell窗口
shell.open();
// 控制窗口不关闭,如果没有下面的代码,窗口会立即自动关闭
while (!shell.isDisposed()) {
// 监听用户所引发的事件
if (!display.readAndDispatch()) {
// 让窗口处于睡眠状态
display.sleep();
}
}
// 当用户关闭窗口时,释放display占用的内存资源
display.dispose();
}

/*
* 通过display和样式值来创建shell Shell(Display display[,int style])
*/
public static void createShell2() {
// 新建一个Display对象
Display display = new Display();
// 根据已创建的Display对象和样式值新建一个Shell对象
// 可以通过|来组全不同的样式值来达到特定的效果
Shell shell = new Shell(display, SWT.RESIZE | SWT.CLOSE
| SWT.BORDER_SOLID);
/唤脊/ 设置shell的大小(宽度和高度)
shell.setSize(500, 500);
// 设置shell的窗口名
shell.setText("shell demo");
// 打开shell窗口
shell.open();
// 控制窗口不关闭,如果没有下面的代码,窗口会立即自动关闭
while (!shell.isDisposed()) {
// 监听用户所引发的事件
if (!display.readAndDispatch()) {
// 让窗口处于睡眠状态
display.sleep();
}
}
// 当用户关闭窗口时,释放display占用的内存资源
display.dispose();
}

/*
* 在父Shell上创建子Shell Shell(Shell parent[,int tyle])
*/
public static void createChildShell() {
Display display = new Display();
// 创建父Shell
Shell parent = new Shell(display);
parent.setSize(500, 500);
parent.setText("parent");
parent.open();
// 在父Shell的基础之上创建几个子Shell
Shell cs1 = new Shell(parent);
cs1.setSize(250, 250);
cs1.setText("child1");
cs1.open();

Shell cs2 = new Shell(parent);
cs2.setSize(250, 250);
cs2.setText("child2");
cs2.open();

Shell cs3 = new Shell(parent);
cs3.setSize(250, 250);
cs3.setText("child3");
cs3.open();

while (!parent.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}

/*
* 创建模态窗口的对话框
*/
public static void createDialog() {
Display display = new Display();
Shell parent = new Shell(display);
parent.setSize(500, 500);
parent.setText("parent");
parent.setImage(new Image(display, "images/Info.png"));
parent.open();
// 通过SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL样式值来创建dialog
Shell dialog = new Shell(parent, SWT.DIALOG_TRIM
| SWT.APPLICATION_MODAL);
dialog.setSize(200, 200);
dialog.setText("dialog");
dialog.setImage(new Image(display, "images/Alert.png"));
dialog.open();

while (!parent.isDisposed()) {
if (display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}

public static void main(String[] args) {
ShellTest.createShell1();
//ShellTest.createShell2();
//ShellTest.createChildShell();
//ShellTest.createDialog();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式