我对使用 SWT 库的 Java 项目有疑问。这是我第一次尝试使用 SWT,所以请不要向我扔石头。
环境:Eclipse - Juno
类和函数:
1º客户端->“主要”在哪里。创建“GUI_Creator”类的对象(我的)。
2º GUI_Creator -> 有 2 个功能,以便“设计”我的表单。
2.1 -> MakeLogIn -> Void 方法,将我需要的控件添加到我作为参数给他的 Shell 中。我用它来设计我向用户展示的第一个表单。
此函数还将此 shell 的按钮的“单击”事件与 GUI_Creator 类的第二个函数链接,该函数创建一个新的 shell。然后,这个外壳将打开,第一个外壳将关闭。
2.2 -> MakeClient -> 这个函数返回一个shell var。对我来说,这会返回我程序的第二个 shell,即使是设计等。
问题:
我在“main”的末尾使用了这段代码:
while (!Conexion.isDisposed())
{
if (!ourDisplay.readAndDispatch())
ourDisplay.sleep();
}
ourDisplay.dispose();
如果我没记错的话,当我尝试关闭我的第一个 shell,然后只打开第二个 shell 时,这段代码就会这样做,我的程序会完全关闭,因为我正在处理父显示。
但是,我不能删除这段代码,因为如果我这样做,当我运行我的程序时,它不会“等待”一个动作,而是执行所有“主要”代码,然后关闭 GUI,程序完成。
所以,我真的不知道我该怎么做才能解决这种情况。
谢谢,比特币