2014-09-18 2 views
2

지금 Java GUI 프로그램을 작성 중입니다. (이클립스 + Windowbuilder 사용) Java 대화 상자 창을 기다리는 방법

나는 다음과 같은 상황이 :

서브 프로그램 B가 입력에 대한 사용자 요청하는 대화 상자를 호출하고 프로그램 A. 를 호출하여 종료하지만 프로그램 A가되고 싶지 않아을 아직 전화 했어. 대화 상자 창이 종료 된 후에 호출해야합니다.

B: 
dialogWindow(); 
<------- here B should wait for dialogWindow to finish 
A(); 
exit(); 

dialogWindow에 대한()을 기다려야하는 방법이 있나요? (나는 A(); 명령을 이동하고 싶지 않다)

미리 감사드립니다.

EDIT : 실제로 dialogWindow는 일반적인 JFrame입니다.

+3

JOptionPane.showDialog 그는 그가로 통화를 이동하려는 나던 말했다 사실 –

답변

3

당신은 JDialog에서 상속 또는) (

import javax.swing.JOptionPane; 

public class TestDialog { 

    public static void main(String[] args) { 

    int resp = JOptionPane.showConfirmDialog(null, "A", "B", JOptionPane.YES_NO_OPTION);   
    if (resp == 0) 
    System.out.println("call methodA()"); 
    else 
     System.out.println("call foo()"); 


    } 
} 
+0

이것을 더 설명하기 위해'int response = JOptionPane ...'을 사용하고 System.out.println이 선택된 응답 값을 출력 할 수 있음을 보여줄 수있다 – Compass

+1

@ Compass가 내 대답을 업데이트했습니다 – sol4me

+0

나는 그 방법을 정말 좋아합니다. – user4054919

-2

Java에서의 GUI 프로그래밍은 이벤트 기반입니다.

따라서 대화 상자 창의 제출 단추에 ActionListener를 추가하면이 ActionListener가 A()를 호출하고 종료합니다.

+1

에 모달 플래그를 설정 사용해야 YourPopUpComponent에 대한 setModal(true)를 사용 할 수 있습니다. 대화 상자에 모달 플래그를 설정하는 것은 그가 필요로하는 해결책입니다. –

+0

oups,이 부분을 읽지 않음 -_- " – Sporniket

관련 문제