有没有一种方法可以使用JavaScript创建GWT小部件



有没有一种方法可以使用JavaScript创建GWT小部件(工作量较小)。。。比如下面的那个?既然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);
}

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

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

然后,您可以像调用任何其他java方法一样调用它,在AttachHandler中缩放它将允许您在它所在的小部件连接到dom后调用它。

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

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

举个例子,我有一些用jQuery编写的注释代码,这是我在纯GWT中无法做到的。我已经编写了一些本地方法,允许我与我编写的javascript代码进行交互。您还可以向javascript传递值和从javascript返回值。