2016-10-14 3 views
1

다음 코드는 내 사용자에게 프로그램이 끝났음을 알리는 빠른 팝업 상자를 만들기위한 것입니다. 사용자가 확인을 클릭하면 일부 추가 이벤트를 처리하고 싶습니다. 특히 일부 드라이버와 SQL 연결을 닫으려고합니다. 이것을 어떻게 할 수 있습니까? 그건 당신이 대화 상자를 보여 직후Jframe에 이벤트 처리 추가하기 대화 상자

javax.swing.JFrame optionFrame = new javax.swing.JFrame(); 
    JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 
    optionFrame.toFront(); 
    optionFrame.repaint(); 
    this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 

답변

0

는 그냥 수행 JFrame의를하게 여기

코드,하지만 this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 전에

또한 일부 제거 :

optionFrame.toFront(); 
optionFrame.repaint(); 

이 줄을 (메시지 대화 상자 팝업) :

JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 

은 사용자가 확인을 클릭하거나 팝업 창을 닫을 때까지 스레드를 호출하므로 아무 것도 할 필요가 없으며 팝업이 사라진 후에이 줄 다음의 코드가 실행됩니다.

... 
JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 
// do your clean-up work here (probably invoke some clean up service method) 
this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 
+0

은 당신이 완료 될 방법의 예를 제공 할 수 있습니다 :

는 될 수 귀하의 예제를 기반으로? 그렇게하기 위해 별도의 방법이 필요합니까? 일반적으로 이벤트는 별도의 메소드에서 처리됩니까? – Jrawr

관련 문제