gwt - GXT 3、网格编译问题

标签 gwt gxt

我正在尝试运行 GXT 3 Grid,但在从 Eclipse 运行 GWT 编译时出现以下异常:

java.lang.NullPointerException
at com.sencha.gxt.data.rebind.ModelKeyProviderCreator.getObjectType(ModelKeyProviderCreator.java:40)

启动网格并使其可见的代码:

DataProperties dp = GWT.create(DataProperties.class);
List<ColumnConfig<MyGridData, ?>> css = new LinkedList<ColumnConfig<MyGridData, ?>>();
css.add(new ColumnConfig<MyGridData, String>(dp.name(), 200, "Name"));      
css.add(new ColumnConfig<MyGridData, String>(dp.value(), 200, "Value"));

ColumnModel<MyGridData> cm = new ColumnModel<MyGridData>(css);
ListStore<MyGridData> s = new ListStore<MyGridData>(dp.key());
s.add(new MyGridData("name1","value1"));
s.add(new MyGridData("name2","value2"));
s.add(new MyGridData("name3","value3"));
s.add(new MyGridData("name4","value4"));
Grid<MyGridData> g = new Grid<MyGridData>(s, cm);
addToDisplay(g);

网格数据bean:

public class MyGridData{
    private String name;
private String value;

public MyGridData(String name, String value) {
        super();
    this.name = name;
        this.value = value;
}

public void setName(String name) {
    this.name = name;
}

public String getName() {
    return this.name;
}

public void setValue(String value) {
    this.value = value;
}

public String getValue() {
        return this.value;
}

 }

支持的 DataProperties 类:

import com.google.gwt.editor.client.Editor.Path;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;

public interface DataProperties extends PropertyAccess {

    @Path("name")
ModelKeyProvider key();

ValueProvider<MyGridData, String> name();
ValueProvider<MyGridData, String> value();
}

最佳答案

来自您的代码:

public interface DataProperties extends PropertyAccess {

  @Path("name")
  ModelKeyProvider key();

  ValueProvider<MyGridData, String> name();
  ValueProvider<MyGridData, String> value();
}

这里有一个错误 - 如果没有泛型,编译器无法弄清楚您需要什么。您的 IDE 应该警告您有关 ProperyAccess 和 ModelKeyProvider 的原始使用。这两个都需要引用 MyGridData。试试这个:

public interface DataProperties extends PropertyAccess<MyGridData> {//here

  @Path("name")
  ModelKeyProvider<MyGridData> key();// and here

  ValueProvider<MyGridData, String> name();
  ValueProvider<MyGridData, String> value();
}

关于gwt - GXT 3、网格编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018559/

相关文章:

java - GWT 编辑器框架 - 在自己的编辑器中使用 ValueListBox 显示 ENUM

css - 为什么 Anchor 仍然使用默认的 css,即使我设置了不同的样式 (GWT)?

java.lang.NoClassDefFoundError : com/google/gwt/core/ext/Generator 错误

eclipse - GWT 编译使 JVM 崩溃

java - GWT 和 SQL - 没有合适的驱动程序

java - 谷歌应用程序引擎用户服务登录和注销java

gwt - 如何用 safeHtml 值填充 UiRenderer?

java - 如何动态添加一行到 GXT 网格

css - 如何自定义使用 ThemeBuilder 生成的主题的 CSS?

java - GWT - 具有拖放操作的关系数据库