我的程序其实是ECLIPSE RCP(富客户端)程序, 在主程序之前有弹窗(Dialog)用来注册登录的,这些弹窗用的都是 Swt 和jface的窗口,而且是Dialog中有按钮,点了按钮又弹出其他Dialog(如果需要会关闭前面的Dialog),在这过程中如果用户X掉任何一个Dialog,我应该终止主程序。问题来了:1.SWT窗体没办法判断是不是还开着,Jface的连续的几个Dialog也没办法判断是不是还有没关的。以前都是用if(startwin.open() != Window.OK)
{
log.info("Exit Application!"); //终止主程序
return IApplication.EXIT_OK;
}
//已登录,主程序继续
//以下是启动主程序的代码
.....
上面的startwin是个Jface的窗体,返回值很明确,而且最重要的它只有1个窗口,没有我那种A弹出B,B又弹出C的情况,A关没关很容易判断,但是它的子窗口怎么判断啊?用户在B中X掉了窗口以上的代码就没用了。哪位达人告诉我一下 SWT的窗体状态如何判断啊?Jface的Dialog嵌套如何判断它们至少有1个还开着啊?
{
log.info("Exit Application!"); //终止主程序
return IApplication.EXIT_OK;
}
//已登录,主程序继续
//以下是启动主程序的代码
.....
上面的startwin是个Jface的窗体,返回值很明确,而且最重要的它只有1个窗口,没有我那种A弹出B,B又弹出C的情况,A关没关很容易判断,但是它的子窗口怎么判断啊?用户在B中X掉了窗口以上的代码就没用了。哪位达人告诉我一下 SWT的窗体状态如何判断啊?Jface的Dialog嵌套如何判断它们至少有1个还开着啊?
解决方案 »
- 求学习方法~~三大框架都学一个月了还没有头绪~~~~自信被毁了,想退出
- 启动项目找不到类文件
- 请问,SQL2000 转成 mysql 方法
- java 如何监控到浏览器当前的浏览地址
- 请教高手们.一个关于位运算的问题.
- Compiler里面的compileClass方法
- 为什么我做的jframe 运行时只能看到标题栏阿?????
- 求记事本的一些简单的问题
- 100分! 求助:怎样安装java1.2 Runtime Environment and Set the Path environment
- swing界面美化是出错了,大家看看是怎么回事
- d o m 4 j 怎么用啊!555
- 怎么搞定数据库!!!
shell.addShellListener(new ShellListener(){});其中有shellClosed(ShellEvent e){}这个接口
你可以把你所有DIALOG的SHELL注册给父SHELL然后给父SHELL添加这个监听
if(startwin.open() != Window.OK)
{
log.info("Exit Application!"); //终止主程序
PlatformUI.getWorkbench().close();
}
不明白你说的“把你所有DIALOG的SHELL注册给父SHELL”是怎么个注册法?添加监听我倒是会的
这些dialog在走到下一个diglog时候 上1个已经关闭了,比如父A关闭时打开子B,子B关闭时候才有C那么父A都已经关闭了(其实我就是想让它不要显示在屏幕上就行),还能用你说的listener方法吗?