2012-03-21 2 views
3

단일 텍스트 입력 컨트롤로 모달 DialogBox의 인스턴스를 만드는 간단한 방법이 있나요? "확인"을 눌러 텍스트 컨트롤에 입력 한 문자열을 반환하겠습니까?GWT의 JOptionPane.showInputDialog()

나는 Swing에서 JOptionPane.showInputDialog() one-liner와 비슷한 것을 찾고있다.

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