2012-03-21 10 views
3

"OK"を押すとテキストコントロールに入力された文字列を返す単一テキスト入力コントロールを持つモーダルDialogBoxのインスタンスを作成する簡単な方法はありますか?GWT内のJOptionPane.showInputDialog()

私はSwingのJOptionPane.showInputDialog()ワンライナーに似たものを探しています。

+0

の使用例。 – sethu

答えて

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); 
} 
関連する問題