我正在创建一个已在GWT Showcase中使用的Composite小部件。
new DialogBoxWidget(constants);
//我在这里遇到错误:构造函数DialogBoxWidget(ShowcaseConstants)未定义。
/**
* Constants used throughout the showcase.
*/
public interface ShowcaseConstants extends MenuConstants,
CwDialogBox.CwConstants{
/**
* The path to source code for examples, raw files, and style definitions.
*/
String DST_SOURCE = "gwtShowcaseSource/";
}
这是我的DialogBoxWidget.java是Composite
@ShowcaseSource
public static interface CwConstants extends Constants {
String cwDialogBoxCaption();
String cwDialogBoxClose();
String cwDialogBoxDescription();
String cwDialogBoxDetails();
String cwDialogBoxItem();
String cwDialogBoxListBoxInfo();
String cwDialogBoxMakeTransparent();
String cwDialogBoxName();
String cwDialogBoxShowButton();
}
/**
* An instance of the constants.
*/
@ShowcaseData
private final CwConstants constants;
/**
* Constructor.
* @param constants2
*
* @param constants the constants
*/
public DialogBoxWidget(CwConstants constants) {
// Add a hyper link to each section in the Widgets category
ShowcaseConstants allConstants = GWT.create(ShowcaseConstants.class);
this.constants = constants;
// Create the dialog box
final DialogBox dialogBox = createDialogBox();
dialogBox.setGlassEnabled(true);
dialogBox.setAnimationEnabled(true);
// Create a button to show the dialog Box
Button openButton = new Button(
allConstants.cwDialogBoxShowButton(), new ClickHandler() {
public void onClick(ClickEvent sender) {
dialogBox.center();
dialogBox.show();
}
});
// Create a ListBox
HTML listDesc = new HTML(
"<br><br><br>" + allConstants.cwDialogBoxListBoxInfo());
ListBox list = new ListBox();
list.setVisibleItemCount(1);
for (int i = 10; i > 0; i--) {
list.addItem(allConstants.cwDialogBoxItem() + " " + i);
}
// Add the button and list to a panel
VerticalPanel vPanel = new VerticalPanel();
vPanel.setSpacing(8);
vPanel.add(openButton);
vPanel.add(listDesc);
vPanel.add(list);
initWidget(vPanel);
}
以下是onModuleLoad()
的代码ShowcaseConstants constants = GWT.create(ShowcaseConstants.class);
@ShowcaseSource
public void onModuleLoad() {
DialogBoxWidget dialogBox = new DialogBoxWidget(constants);//Here I am stucked with error : The constructor DialogBoxWidget(ShowcaseConstants) is undefined
//Add it to the RootPanel.
RootPanel.get().add(dialogBox);
}
答案 0 :(得分:2)
将构造函数更改为
public DialogBoxWidget(ShowcaseConstants constants) {
您指导接受CwConstants
public DialogBoxWidget(CwConstants constants) {
您正试图通过ShowcaseConstants
或创建
CwConstants constants = GWT.create(CwConstants.class);
并传递此信息。
答案 1 :(得分:0)
我敢打赌你的重构/复制粘贴错误:ShowcaseConstants
扩展CwDialogBox.CwConstants
而不是DialogBoxWidget.CwConstants
。