0

有没有一种方法可以使用 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);
}
4

1 回答 1

0

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

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

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

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

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

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

于 2012-07-10T12:04:34.833 回答