【发布时间】:2016-01-13 13:30:14
【问题描述】:
我在新的 Scout Neon 工作,我开始遇到错误:
Assertion error: Property 'modal' cannot be changed because Form is already showing
我的表单有属性:
@Override
protected int getConfiguredModalityHint() {
return MODALITY_HINT_MODELESS;
}
@Override
protected int getConfiguredDisplayHint() {
return DISPLAY_HINT_VIEW;
}
@Override
protected String getConfiguredDisplayViewId() {
return VIEW_ID_CENTER;
}
我做错了什么?
编辑:马尔科
我在MyOutline 中添加页面,女巫从AbstractOutline 延伸
public class MyOutline extends AbstractOutline {
@Override
protected String getConfiguredTitle() {
return TEXTS.get("MyOutline");
}
@Override
protected void execCreateChildPages(final List<IPage<?>> pageList) {
final MyPage myPage = new MyPage();
pageList.add(myPage);
super.execCreateChildPages(pageList);
}
}
MyPage 只是表单的包装页。
public class MyPage extends AbstractPageWithNodes {
@Override
protected boolean getConfiguredLeaf() {
return true;
}
@Override
protected boolean getConfiguredTableVisible() {
return false;
}
@Override
protected String getConfiguredTitle() {
return TEXTS.get("MyPage");
}
@Override
protected Class<? extends IForm> getConfiguredDetailForm() {
return MyForm.class;
}
}
我的表格没什么特别的:
@FormData(value = MyFormData.class, sdkCommand = FormData.SdkCommand.CREATE)
公共类 MyForm 扩展 AbstractForm {
/**
* Method start Form for adding new person.
*/
public void startNew() {
this.startInternal(new NewHandler());
}
@Override
protected boolean getConfiguredAskIfNeedSave() {
return false;
}
@Override
protected int getConfiguredModalityHint() {
return MODALITY_HINT_MODELESS;
}
@Override
protected int getConfiguredDisplayHint() {
return DISPLAY_HINT_VIEW;
}
@Override
protected String getConfiguredDisplayViewId() {
return VIEW_ID_CENTER;
}
public MainBox getMainBox() {
...
但是当我想打开这个页面时(在这个页面上没有打开启动应用程序),(并且我之前没有做任何其他事情)我得到了错误。
2016-01-22 11:13:56,236 ERROR scout-model-thread-11 'Processing JSON request' o.e.scout.rt.platform.exception.ExceptionHandler -
org.eclipse.scout.rt.platform.util.Assertions$AssertionException: Assertion error: Property 'modal' cannot be changed because Form is already showing
at org.eclipse.scout.rt.platform.util.Assertions.fail(Assertions.java:581) ~[org.eclipse.scout.rt.platform-5.2.0.M4.jar:5.2.0.M4]
at org.eclipse.scout.rt.platform.util.Assertions.assertFalse(Assertions.java:192) ~[org.eclipse.scout.rt.platform-5.2.0.M4.jar:5.2.0.M4]
at org.eclipse.scout.rt.client.ui.form.AbstractForm.setModal(AbstractForm.java:2700) ~[org.eclipse.scout.rt.client-5.2.0.M4.jar:5.2.0.M4]
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPage.decorateDetailForm(AbstractPage.java:692) ~[org.eclipse.scout.rt.client-5.2.0.M4.jar:5.2.0.M4]
【问题讨论】:
-
当您调用
setModal(..)时是否会出现此错误?请确认或添加您收到的错误堆栈跟踪。如果是这种情况,你什么时候打电话给setModal(..)这个电话之前你在做什么? -
我不直接调用setModal(...),而是用getConfiguredModality调用..所以之前我不调用ant thing...
标签: eclipse-scout