1

我在Scout Explorer 视图中代表我的应用程序的树中看到,我在模板节点下有两个子文件夹:

  • 形式
  • 表单域

我知道如何添加表单域,它非常简单,但我不知道如何创建表单模板,我在互联网上找不到它。

马尔科

编辑 :

现在我弄清楚如何将表单添加到来自模板文件夹。您只需要添加abstract标签,然后您就可以从此模板创建新表单。

现在我需要将默认主框类从 : 更改AbstractGroupBoxAbstractMyGroupBox. 要理解,我需要以某种方式在内部设置AbstractMyForm,来自AbstractMyForm模板的所有表单都改为:

public class TestFromForm extends AbstractMyForm

...

@Order(10.0)
@ClassId("e23ebc80-d948-4e23-aff6-ae49d3278331")
public class MainBox extends AbstractGroupBox {
    @Order(10.0)
    @ClassId("571bc88f-67ee-454d-b6ce-9616bc43bf74")
    public class OkButton extends AbstractOkButton {
    }
    @Order(20.0)
    @ClassId("66969857-002f-4689-981e-20ab60bbaf0e")
    public class CancelButton extends AbstractCancelButton {
    }
}

拥有这个 :

@Order(10.0)
@ClassId("e23ebc80-d948-4e23-aff6-ae49d3278331")
public class MainBox extends AbstractMyGroupBox {

}
4

1 回答 1

1

你说的对; Scout Perspective 不支持创建表单模板。您需要使用 IDE 中的 Java 工具。


表单模板

表单模板只不过是一个抽象类扩展org.eclipse.scout.rt.client.ui.form.AbstractForm。您的模板可以位于您想要的位置(有意义的位置,取决于您的代码组织)。可能的包:<your_app>.client.ui.template.form.

这是一个最小的例子:

import org.eclipse.scout.commons.exception.ProcessingException;
import org.eclipse.scout.rt.client.ui.form.AbstractForm;

public abstract class AbstractMyForm extends AbstractForm {

  /**
   * @throws ProcessingException
   */
  public AbstractMyForm() throws ProcessingException {
    super();
  }
}

窗体和主箱

请注意,表单(与模板一起使用或不使用)只有一个 MainBox(包含子字段树的根组框)。它在表单初始化期间加载。(请参阅基于示例的扩展答案)。

从私有方法的实现AbstractForm.getConfiguredMainBox()我可以推断出只IGroupBox选择了第一个实现的内部类。

因此,表单模板适合在表单级别上实现逻辑互通。有时还有一些表单处理程序或工具按钮。

如果想法是使多个表单之间的公共字段相互化,则一种可能性是对主框本身使用字段模板:

@Order(10.0)
public class MainBox extends AbstractMyTemplateGroupBox {
    //…
}

在不了解用例的情况下,很难说出您应该做什么。

于 2014-09-19T12:09:13.280 回答