我想在特定窗体上禁用"后退"按钮,但在其他窗体(视图)中继续工作。
您应该覆盖状态机上的allowBackTo,此方法默认情况下应返回true,这样您就可以继续返回到其他表单,但对于那些您不想返回的表单,则返回false。例如,如果您想继续返回除名为"SplashScreen"的表单外的所有表单,则应执行以下操作:
@Override
protected boolean allowBackTo(String formName){
if ("SplashScreen".equals(formName)){
return false;
}
return true;
}
在特定表单中,您可以在表单内部使用:
removeCommand(getBackCommand());
另一种方法是在实现函数接口ActionListener
的ActionPerformed
方法的Command
中添加一个条件。
如果满足条件,则执行代码。此外,您可以使用else
或else if
块为animateLayout
调用提供用户反馈。
然而,我们需要非常小心这种方法,因为我们不想在ActionPerformed
中放入太多逻辑,因为它会减慢执行速度,降低性能。
别担心。只需在需要禁用按钮的相关表单中插入一个id或类。并使用该类或id禁用该按钮。
例如:将"#myid按钮"作为选择器