2012-07-10 41 views
0

有沒有一種方法可以使用JavaScript創建GWT Widget(比較少費力)...例如下面的例子? 由於GWT編譯成JavaScript,這應該是可行的,有沒有人嘗試這個早期的......我愛GWT部件和JavaScript編程,而不是Java :)有沒有使用JavaScript創建GWT Widgets的方法?

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

您可以使用原生的JavaScript,可從內部被稱爲你的Java代碼。

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

然後,您可以調用這個像任何其他Java方法,在AttachHandler caling這將允許你把這種一旦內附加到DOM的小部件。

也就是說,使用GWT的全部原因是,您最終在Java中編寫客戶端和服務器端代碼,客戶端被交叉編譯爲非常高效的跨瀏覽器JavaScript。

我會正確學習Java並繼續爲大部分GWT應用程序使用Java代碼,但在需要它們的地方使用JavaScript本地方法,即執行GWT無法執行的任務。

一個例子,我有一些註釋代碼是用jQuery編寫的,我不能在直接的GWT中編寫。我編寫了一些本地方法,可以讓我與編寫的JavaScript代碼進行交互。你也可以傳遞和返回值從JavaScript。

相關問題