有没有办法使用JavaScript创建GWT Widgets?

时间:2012-07-10 11:59:06

标签: javascript gwt widget

有没有办法使用JavaScript创建GWT Widgets(省力)...例如下面的那个? 由于GWT编译为JavaScript,这应该是可能的,有人试过这个吗...我喜欢GWT小部件和JavaScripting,但不喜欢Java:)

function doSomething(){
    layout = new FlexTable();
    layout.spacing = 6;
    cellFormatter = layout.getFlexCellFormatter();
    // Add a title to the form
    layout.setHTML(0, 0, 'form title');
    cellFormatter.setColSpan(0, 0, 2);
    cellFormatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
    //......
    // Wrap the content in a DecoratorPanel
    decPanel = new DecoratorPanel();
    decPanel.setWidget(layout);
}

1 个答案:

答案 0 :(得分:0)

您可以使用可以在Java代码中调用的本机javascript。

 public native void loadJQueryStyling() /*-{
    //Javascript here
 }-*/;

然后你可以像任何其他java方法一样调用它,在AttachHandler中调用它会允许你在它所在的小部件附加到dom后调用它。

也就是说,使用GWT的全部原因是你最终用Java编写客户端和服务器端代码,客户端被交叉编译为非常有效的跨浏览器javascript。

我会正确学习Java并继续为大部分GWT应用程序使用Java代码,但在需要它们时使用javascript本地方法,即执行GWT无法做的事情。

一个例子,我有一些注释代码,我用jQuery写的,我不能用直接的GWT做。我写了一些本机方法,允许我与我编写的javascript代码进行交互。您还可以在javascript中传递和返回值。