GWT中的JOptionPane.showInputDialog()

时间:2012-03-21 06:51:58

标签: java gwt dialog modal-dialog

是否有任何简单的方法来创建具有单个文本输入控件的模态DialogBox实例,这将在按下&#34时返回输入到文本控件中的String;确定"?

我正在寻找类似于Swing的JOptionPane.showInputDialog()单行内容。

1 个答案:

答案 0 :(得分:7)

您可以创建自己的类,其中包含您需要的所有内容。 小例子:

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);
}