2011-11-02 1 views
2

누군가가 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 창 닫기를 실행하여 작업 표시 줄에서 데스크탑 기반 Java/JavaFx 응용 프로그램을 닫을 때 발생합니다 (응용 프로그램 자체에서 직접 실행되지는 않음)?오른쪽 클릭으로 창 닫기를 감지하는 방법 -> 창 닫기?

현재 작업 표시 줄에서 창을 닫으면 응용 프로그램 창이 닫히지 만 프로세스가 종료되지 않고 백그라운드에서 계속 실행됩니다. 응용 프로그램 내의 Embedded Derby DB가 연결이 끊어 지도록 응용 프로그램을 완전히 종료하고 싶습니다.

나는 스테이지의 setOnHiding(), setOnCloseRequest() 및 기타 유사한 방법을 시도했지만 아무 소용이 없습니다.

도움 주셔서 감사합니다.

답변

3

ShutdownHook을 사용해 응용 프로그램 리소스를 확보 할 수 있습니다.

Runtime.getRuntime().addShutdownHook(...); 
+0

아름답게 작품! 감사 ! – Saurabh

0
JFrame f = new JFrame(); 
f.addWindowListener(new WindowAdapter()) { 
      @Override 
      public void windowClosing(WindowEvent e) { 
       // write your code here 
      } 
} 
+0

이 솔루션은 JFrame을 사용하는 자바 애플리케이션에서 작동하는 반면, 광산에서는 addWindowListener가없는 JavaFx Stage를 사용한다고 생각합니다. 고마워, 비록 게시! – Saurabh