Java Eclipse Scout的GUI中未显示的StandardOutline表

Java Eclipse Scout的GUI中未显示的StandardOutline表,java,eclipse,eclipse-scout,Java,Eclipse,Eclipse Scout,我正在学习如何使用EclipseScout,并从上的教程开始 我很自豪地完成了第一个hello world教程,但在尝试完成该教程时遇到了问题 在第步之前,一切都进展顺利,当时我需要重新启动服务器和任何GUI客户机,以查看我刚刚创建的大纲中的表的格式不好。问题是:没有一个客户端向我显示创建的表,它们都是空的 我在每个新添加的列(主键列除外)中都勾选了可见字段,但我不明白为什么没有显示表。我甚至试图继续学习教程,并根据需要将列宽设置为200,但仍然没有表格。我在下面粘贴了companytabl

我正在学习如何使用EclipseScout,并从上的教程开始

我很自豪地完成了第一个hello world教程,但在尝试完成该教程时遇到了问题

在第步之前,一切都进展顺利,当时我需要重新启动服务器和任何GUI客户机,以查看我刚刚创建的大纲中的表的格式不好。问题是:没有一个客户端向我显示创建的表,它们都是空的

我在每个新添加的列(主键列除外)中都勾选了可见字段,但我不明白为什么没有显示表。我甚至试图继续学习教程,并根据需要将列宽设置为200,但仍然没有表格。我在下面粘贴了companytable类页面的代码。还提供了Scout Explorer的屏幕截图。我真的刚开始使用Eclipse Scout,非常感谢您的帮助和提示

谢谢, 伊萨

/**
* 
*/
包org.eclipsescout.demo.minicrm.client;
导入org.eclipse.scout.commons.annotations.Order;
导入org.eclipse.scout.commons.annotations.PageData;
导入org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractLongColumn;
导入org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractStringColumn;
导入org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable;
导入org.eclipse.scout.rt.extension.client.ui.basic.table.AbstractExtensibleTable;
导入org.eclipse.scout.rt.shared.text;
导入org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table;
导入org.eclipsescout.demo.minicrm.shared.CompanyTablePageData;
导入org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table.NameColumn;
/**
*@作者伊萨
*/
@PageData(CompanyTablePageData.class)
公共类CompanyTablePage扩展了AbstractPageWithTable{
@凌驾
受保护的字符串getConfiguredTitle(){
返回文本。获取(“公司”);
}
@订单(10.0)
公共类表扩展了AbstractExtensibleTable{
/**
*@返回ShortName列
*/
公共ShortNameColumn getShortNameColumn(){
返回getColumnSet().getColumnByClass(ShortNameColumn.class);
}
/**
*@返回名称列
*/
公共名称列getNameColumn(){
返回getColumnSet().getColumnByClass(NameColumn.class);
}
/**
*@返回公司专栏
*/
public CompanyNrColumn getCompanyNrColumn(){
返回getColumnSet().getColumnByClass(CompanyNrColumn.class);
}
@订单(10.0)
公共类companyRColumn扩展了AbstractLongColumn{
@凌驾
受保护的布尔值getConfiguredDisplayable(){
返回false;
}
@凌驾
受保护的布尔值getConfiguredPrimaryKey(){
返回true;
}
@凌驾
受保护的布尔getConfiguredVisible(){
返回false;
}
}
@订单(20.0)
公共类ShortNameColumn扩展了AbstractStringColumn{
@凌驾
受保护的字符串getConfiguredHeaderText(){
返回文本。获取(“短名称”);
}
@凌驾
受保护的整型getConfiguredWidth(){
返回200;
}
}
@订单(30.0)
公共类NameColumn扩展了AbstractStringColumn{
@凌驾
受保护的字符串getConfiguredHeaderText(){
返回文本。获取(“名称”);
}
@凌驾
受保护的整型getConfiguredWidth(){
返回200;
}
}
}
}

在我看来,您在创建Scout项目时选择了错误的模板

您确定要选择“基于大纲的应用程序”吗

此处描述了不同的类型:

主要区别在于scout应用程序的
桌面#execOpened()
。您需要手动更改此实现


根据选择的模板,SDK会在项目创建过程中添加一些默认元素(表单、大纲…)。可以在项目创建后添加这些元素

嘿,马提亚,谢谢你的回答。可能是我在教程中忽略了这一步。我会尝试创建一个新的项目,如果你的答案正确,我会打勾。但我有没有办法在不创建新项目的情况下纠正这个问题?嗨,伊莎,是的,当然有可能。但是,由于您处于开发的早期,因此需要花费比重新创建项目更多的时间。希望此帮助我同意Matthias的意见最简单的方法是在创建模板时选择适当的模板。但是没有黑魔法,即使我们有3个模板,这只是一个问题,你想手工做什么,你想生成什么。我编辑了答案以添加此信息
 /**
 * 
 */
package org.eclipsescout.demo.minicrm.client;

import org.eclipse.scout.commons.annotations.Order;
import org.eclipse.scout.commons.annotations.PageData;
import org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractLongColumn;
import org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractStringColumn;
import org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable;
import org.eclipse.scout.rt.extension.client.ui.basic.table.AbstractExtensibleTable;
import org.eclipse.scout.rt.shared.TEXTS;
import org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table;
import org.eclipsescout.demo.minicrm.shared.CompanyTablePageData;
import org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table.NameColumn;

/**
 * @author Isa
 */
@PageData(CompanyTablePageData.class)
public class CompanyTablePage extends AbstractPageWithTable<Table> {

  @Override
  protected String getConfiguredTitle() {
    return TEXTS.get("Company");
  }

  @Order(10.0)
  public class Table extends AbstractExtensibleTable {

    /**
     * @return the ShortNameColumn
     */
    public ShortNameColumn getShortNameColumn() {
      return getColumnSet().getColumnByClass(ShortNameColumn.class);
    }

    /**
     * @return the NameColumn
     */
    public NameColumn getNameColumn() {
      return getColumnSet().getColumnByClass(NameColumn.class);
    }

    /**
     * @return the CompanyNrColumn
     */
    public CompanyNrColumn getCompanyNrColumn() {
      return getColumnSet().getColumnByClass(CompanyNrColumn.class);
    }

    @Order(10.0)
    public class CompanyNrColumn extends AbstractLongColumn {

      @Override
      protected boolean getConfiguredDisplayable() {
        return false;
      }

      @Override
      protected boolean getConfiguredPrimaryKey() {
        return true;
      }

      @Override
      protected boolean getConfiguredVisible() {
        return false;
      }
    }

    @Order(20.0)
    public class ShortNameColumn extends AbstractStringColumn {

      @Override
      protected String getConfiguredHeaderText() {
        return TEXTS.get("ShortName");
      }

      @Override
      protected int getConfiguredWidth() {
        return 200;
      }
    }

    @Order(30.0)
    public class NameColumn extends AbstractStringColumn {

      @Override
      protected String getConfiguredHeaderText() {
        return TEXTS.get("Name");
      }

      @Override
      protected int getConfiguredWidth() {
        return 200;
      }
    }
  }
}