Java me 带有dispose()的LUIT对话框问题

Java me 带有dispose()的LUIT对话框问题,java-me,dialog,lwuit,lwuit-resource-editor,resource-editor,Java Me,Dialog,Lwuit,Lwuit Resource Editor,Resource Editor,我正在用命令进行对话。此命令必须关闭对话框并返回到上一个窗体,但它未按预期工作。当我按下命令时,它会关闭对话框,但窗体不会返回 我正在使用资源编辑器。状态机控制应用程序的导航 命令逻辑中的代码是: dialog.dispose() StateMachine.back() dispose()是关闭对话框必须使用的方法吗 感谢阅读。不要调用StateMachine.back()只需使用dialog.dispose()不要调用StateMachine.back()只需使用dialog.dispose(

我正在用命令进行对话。此命令必须关闭对话框并返回到上一个窗体,但它未按预期工作。当我按下命令时,它会关闭对话框,但窗体不会返回

我正在使用资源编辑器。状态机控制应用程序的导航

命令逻辑中的代码是:

dialog.dispose()
StateMachine.back()

dispose()
是关闭对话框必须使用的方法吗


感谢阅读。

不要调用
StateMachine.back()
只需使用
dialog.dispose()

不要调用
StateMachine.back()
只需使用
dialog.dispose()

正如Nirmal所说,处理对话框会转到上一种形式,因此,当对“back()”的调用按预期工作时,对dispose()的调用会破坏这种逻辑


您可以覆盖正在显示的窗体的postShow方法,并检测是否离开对话框(需要返回时只需打开一个标志),并在窗体处于该状态时调用back方法。

正如Nirmal所说,当您调用“back()”时,对话框将转到上一个窗体按预期工作您对dispose()的调用破坏了这种逻辑


您可以覆盖正在显示的表单的postShow方法,并检测离开对话框的情况(需要返回时只需打开一个标志),并在表单处于该状态时调用back方法。

还有另一种解决方案:尝试使用
受保护的void onShowCompleted()
必须在
表单中实现的方法。并在
窗体中声明一个
布尔
变量(例如
private boolean isdialogshow;
),然后在
窗体的构造函数中
将该布尔变量设置为
false
,并在打开
对话框的代码之前将其值设置为
true
。然后在
受保护的void onShowCompleted()的代码中测试它是否为true,如果为true,则将其设置为false并执行back操作:
backForm.showBack()

还有另一种解决方案:尝试使用必须在
表单中实现的
protected void onShowCompleted()
方法。并在
窗体中声明一个
布尔
变量(例如
private boolean isdialogshow;
),然后在
窗体的构造函数中
将该布尔变量设置为
false
,并在打开
对话框的代码之前将其值设置为
true
。然后在
受保护的void onShowCompleted()的代码中测试它是否为true,如果为true,则将其设置为false并执行back操作:
backForm.showBack()

StateMachine是从LWiit资源编辑器生成的类。除其他外,它允许管理应用程序的导航。StateMachine是从LWiit资源编辑器生成的类。它允许管理应用程序的导航。我需要调用
StateMachine.back
,因为我需要返回到以前的表单。我的意思是,我需要关闭对话框,在表单中,返回到以前的表单。但除此之外。当我调用dispose时,对话框关闭,但是命令的功能不好。我需要调用
StateMachine.back
,因为我需要返回到以前的表单。我的意思是,我需要关闭对话框,在表单中,返回到以前的表单。但除此之外。当我调用dispose时,对话框关闭,但是命令的功能不好。