2013-03-12 2 views
1

버튼이있는 대화 상자를 만듭니다.코드 명 하나의 버튼 동작에 대한 대화 닫기

해당 버튼 중 하나의 동작에 대화를 완료하고 싶습니다.

명령을 추가하고 싶지 않습니다.

도와주세요.

여기 내 코드입니다.

Form form = (Form) createContainer("/theme", "MYDialog1"); Container container = (Container) findByName("Container", form); button = new Button(new Command("Close"),i)); try { button.setUIID("LabelButton"); } catch (Exception exception) { exception.printStackTrace(); } button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { ?????? } }); container.addComponent(button); Dialog.show("", form, null);

답변

4

대화 상자에 명령을 추가하면 기본적으로 대화 상자가 삭제됩니다.

수동으로 대화 상자를 닫으려면

을 사용하여 대화 상자를 닫으려면 dialog.dispose()을 호출 할 수 있습니다.
0

당신은이 아닌 대화와 컨테이너 사이의 관계를 수행합니다. 이런 이유로 당신은 대화를 처리 할 수 ​​없습니다.

귀하의 질문에서 이해할 수있는 것은 귀하가 귀하의 GUI 버튼을 원하기 때문에 명령을 사용하지 않을 것이라는 것입니다. 버튼을 인식 할 수 있도록

Dialog dialog = new Dialog(); 
    Display.getInstance().callSerially(new Runnable() { 
     public void run() { 
      dialog.setLayout(new BoxLayout(BoxLayout.Y_AXIS)); 
      ... 
      dialog.addComponent(dialog); 

      button = new Button(new Command("Close"),i)); 
      try 
      { 
       button.setUIID("LabelButton"); 
       } 
      catch (Exception exception) 
      { 
      exception.printStackTrace(); 
      } 
      button.addActionListener(new ActionListener() 
       { 
        public void actionPerformed(ActionEvent evt) 
        { 
         dialog.dispose();//??????????? 
        } 

      dialog.addCommand(okCommand); 
      ... 
      dialog.show(); 
     } 
    }); 

이 대화 필요가 클래스 멤버로 :

내 조언은 (내가 일을 할 수 있다고 생각) 같은 대화 상자를 만드는 것입니다.