Вы можете создать свой собственный класс, который будет содержать все, что вам нужно.
Маленький пример:
class MyDialogBox extends DialogBox {
private TextBox textBox = new TextBox();
private Button okButton = new Button("Ok");
public MyDialogBox(Label label) {
super();
setText("My Dialog Box");
final Label l = label;
okButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
hide();
l.setText(textBox.getText());
}
});
VerticalPanel vPanel = new VerticalPanel();
vPanel.add(textBox);
vPanel.add(okButton);
setWidget(vPanel);
}
}
и пример использования
public void onModuleLoad() {
Label label = new Label("Text");
final MyDialogBox mDBox = new MyDialogBox(label);
Button btn = new Button("Click me!");
btn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
mDBox.center();
mDBox.show();
}
});
RootPanel.get().add(label);
RootPanel.get().add(btn);
}