有没有办法使用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);
}
答案 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中传递和返回值。