0

私は GWT を初めて使用するので、この問題を解決する必要があります。gwt-links でウィジェットを作成する必要があります。これを実現するには、オントロジーからデータを取得し、その結果に基づいてグラフを作成する必要があります。問題は、Java コードと gwt コードを混在させると、コンパイルしたくないということです。

問題は、http ページに配置される上記で説明したウィジェットを作成するにはどうすればよいかということです。

コードは次のようになります。

public class Example1 {

    @Override
    public void draw() {

        // Create the elements

        String ontology = Ontology.get(1);

        Widget labelHello = new BoxLabel(ontology);
        controller.addWidget(labelHello,25,115);


        // Add DnD logic
        PickupDragController dragController = new PickupDragController(controller.getView(), true);
        dragController.makeDraggable(labelHello);


    }


    public Widget asWidget() {
        return controller.getView();
    }

}

Ontology.get() はコンパイルしたくありません。

4

3 に答える 3

1

GWT は Java コードだけをコンパイルすることはできません。

これらは GWT によってエミュレートされるパッケージです: pls read

JavaScript に変換できないコード (エミュレートされていないもの) は、サーバー側で処理する必要があります。

于 2013-09-26T05:49:53.220 に答える
1

GWT プロジェクトは 3 つのパッケージを使用します (デフォルトで)

com.myapp.client
com.myapp.shared
com.myapp.server

デフォルトでは、共有およびクライアント パッケージ内のすべてがJavaScript にコンパイルされます。共有およびクライアント パッケージ内にあるクラスにインポートされるすべてのクラスは、次の条件を満たしている必要があります。

  1. GWT でエミュレート
  2. GWT にコンパイル可能 (およびクライアントまたは共有パッケージ内)
  3. GWT にコンパイル可能 (およびパッケージは *.gwt.xml のホワイトリストである必要があります)

コードISolverを JavaScript にコンパイルできる場合は、module.gwt.xml を作成し、このモジュールからプロジェクトを継承する必要があります。これにより、GWT コンパイラが ISolver (およびその実装) を JavaScript にコンパイルできるようになります。

コードを GWT にコンパイルできない場合は、計算を行うためにリモート サービスを作成する必要があります。

于 2013-09-26T22:12:42.517 に答える
0

コードをJavaScriptにコンパイルしたくありません。私がやりたいのは、GWT ウィジェット (グラフ) を作成することだけです。

ウィジェットを作成するには、いくつかの計算とリポジトリ フェッチを行う必要があります。私はそれを翻訳したくありません(リポジトリのフェッチ)。グラフのモデルを作成するために使用する必要があるだけです。

基本的に、これは私がやりたいことです:

String l = Repository.getLabel(); // Some advanced calculations that use many JavaSE classes;
GWTWidget widget = new GWTWidget(l);  // widget, that will be displayed on a page.

しかし、メソッドonModuleLoadに何かを入れると、コンパイルされません。

これはおそらく簡単な質問ですが、私は GWT とはあまり関係がなく、誰かの作品をリメイクせざるを得ません。


 public void onModuleLoad() {
        System.out.println("tes");
        VerticalPanel mainPanel = new VerticalPanel();
        RootPanel.get().add(mainPanel);

        //
        ISolver solver = null;
        System.out.println("TEST2");
    }
ERROR: Line 53: No source code is available for type pr.ISolver; did you forget to inherit a required module?
  ERROR: Unable to find type 'client.Link'
    ERROR: Hint: Previous compiler errors may have made this type unavailable

および「ソースコードなし..」で始まる他の行。

ISolver はインターフェイスですが、翻訳したくありません。計算に使いたい。

于 2013-09-26T17:47:48.917 に答える