google gwt JsArrayInteger(JavaScriptObject)通过JSNI使用

时间:2012-03-12 15:53:29

标签: gwt collections

我对gwt比较新,我在使用JsArrayInteger时遇到了问题。这是我的代码:

  package com.google.gwt.sample.stockwatcher.client;    
  public class StockWatcher implements EntryPoint {
      JsArrayInteger a;
      public void onModuleLoad() {
          a = (JsArrayInteger) JsArrayInteger.createArray(); 
          a.push(1);
          a.push(2);
          a.push(4);
          a.push(5);
          test();
      }
      public static native void test() /*-{
          var p = [1,2,3,4,5,6];
          var q = this.@com.google.gwt.sample.stockwatcher.client.StockWatcher::a;
          alert(q);
          alert(p);
      }-*/;
    }

结果是'undefined'和[1,2,3,4,5,6]而不是[1,2,3,4,5]和[1,2,3,4,5,6] 。我想使用字段a并处理该数组(将其传递给第三方库)。

教程http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html没有解释如何使用默认的JavaScriptObjetcs。有人发现了错误吗?

致以最诚挚的问候,

迈克尔

1 个答案:

答案 0 :(得分:1)

  public static native void test() /*-{
      var p = [1,2,3,4,5,6];
      var q = this.@com.google.gwt.sample.stockwatcher.client.StockWatcher::a;
      alert(q);
      alert(p);
  }-*/;

请注意,此方法为static,但您指的是this。传入实例并使用该实例代替this,或将方法更改为static