从java代码创建并返回gwt小部件

时间:2013-09-25 18:04:19

标签: gwt

我是GWT的新手,我需要重新解决这个问题。我需要用gwt-links创建一个小部件。为了实现它,我需要从本体中获取一些数据,然后根据结果创建图形。问题是,当我将java代码与gwt代码混合时,它不想编译。

问题是,如何创建一个将放在http页面中的widged?

代码现在看起来像这样:

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()不想编译。

3 个答案:

答案 0 :(得分:1)

GWT无法编译任何java代码。

这些是由GWT模拟的包:pls read

无法转换为javascript的代码(未模拟的内容),您必须在服务器端处理。

答案 1 :(得分:1)

GWT projects使用三个包(默认情况下)

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

默认情况下,共享和客户端软件包中的所有内容都是compiled to JavaScript。 导入到共享和客户端包中的类的每个类必须是:

  1. 由GWT模仿
  2. 可编辑GWT(以及客户端或共享包内)
  3. 可编辑GWT(并且软件包必须是* .gwt.xml中的白名单)
  4. 如果代码ISolver可以编译为JavaScript,则必须创建module.gwt.xml并从此模块继承您的项目。这可以使GWT编译器将ISolver(及其实现)编译为JavaScript。

    如果您的代码无法编译为GWT,则必须write a remote-service进行计算。

答案 2 :(得分: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是一个界面,但我不想翻译它。我想用它来计算。