为什么IntelliJ IDEA在使用GWT UiBinder时不喜欢扩展复合?
大多数使用基本复合类的示例如下所示:为什么IntelliJ IDEA在使用GWT UiBinder时不喜欢扩展复合?,gwt,intellij-idea,Gwt,Intellij Idea,大多数使用基本复合类的示例如下所示: public class UserDashboard extends Composite { interface MyUiBinder extends UiBinder<Widget, UserDashboard> {} private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); public UserDashboard() { i
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));
}
}
公共类UserDashboard扩展了复合{
接口MyUiBinder扩展了UiBinder{}
私有静态MyUiBinder=GWT.create(MyUiBinder.class);
公共用户仪表板(){
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);
}
}
公共类UserDashboard{
接口MyUiBinder扩展了UiBinder{}
私有静态MyUiBinder=GWT.create(MyUiBinder.class);
公共用户仪表板(){
Widget Widget=uiBinder.createAndBindUi(这个);
}
}
所以问题是IntelliJ IDEA为什么要使用第二种模式?我抱怨Eclipse对第一个版本的偏好——制作合成是一个额外的部分,在大多数情况下并没有那么大的帮助。相反,只需使
UserDashboard
实现IsWidget
,并使asWidget()
方法返回uibinder xml创建的小部件。IDEA不会添加“extends Composite”,因为它并不总是必需的。但是,您可以轻松地更改此行为:转到文件|设置|文件模板,打开“JavaEE”选项卡,选择“Google Web Toolkit”->GwtUiBinder.java模板,并将“extends Composite”添加到模板文本中。另外,不要忘记添加所需的“import”语句