2012-03-19 71 views
2

UiBinder documentation使用基复合类是这样的大多数示例:为什么在使用GWT UiBinder时IntelliJ IDEA更喜欢不扩展Composite?

public class UserDashboard extends Composite { 
    interface MyUiBinder extends UiBinder<Widget, UserDashboard> {} 
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); 
    public UserDashboard() { 
     initWidget(uiBinder.createAndBindUi(this)); 
    } 
} 

同时IntelliJ IDEA的总是产生:

public class UserDashboard { 
    interface MyUiBinder extends UiBinder<Widget, UserDashboard> {} 
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); 
    public UserDashboard() { 
     Widget widget = uiBinder.createAndBindUi(this); 
    } 
} 

所以,问题是为什么IntelliJ IDEA的使用第二图案?

回答

2

我对第一个版本的Eclipse首选项抱怨 - 制作一个Composite是一个额外的部分,在大多数情况下并不是那么有用。相反,只需使UserDashboard实现IsWidget,并使asWidget()方法返回您的uibinder xml创建的小部件。

0

IDEA不会添加'extends Composite',因为它并不总是必需的。但是,您可以轻松更改此行为:转到文件|设置|在文件模板中,打开'JavaEE'选项卡,选择'Google Web Toolkit' - > GwtUiBinder.java模板并将'extends Composite'添加到模板文本中。另外不要忘记添加一个必需的'import'语句。