문제

나는 저장하고 싶은 프로그램 설정을마다 사용자 프로그램이 종료됩니다.그래서 나는 방법이 필요 함수를 호출할 때 사용자가 종료되는 프로그램입니다.어떻게 할까요?

내가 사용하 Java1.5.

도움이 되었습니까?

해결책

추가할 수 있습니 종료 후크 응용 프로그램을 수행하여 다음과 같다:

Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
    public void run() {
        // what you want to do
    }
}));

이것은 기본적으로 동등한 데 try{}finally{}차단위는 전체 프로그램,그리고 기본적으로 포함하에서 무엇을 마지막으로 차단합니다.

참고하시기 바랍 주의 사항 하지만!

다른 팁

추가 종료 후크 addShutdownHook(java.랭.스레드) 아마 당신이 무엇을 찾습니다.문제가 있으로 하는 접근 방식지

  • 당신 변경 사항을 잃게되는 경우 프로그램 중에서는 조절되지 않는 방식으로(즉면 그것은 사망)
  • 당신 변경 사항을 잃게되는 경우에 오류가 있(권한을 거부,가득 차있는 디스크,네트워크류)

그래서 그것은 수를 저장하는 설정을 즉시(아마도 여분의 스레드를 방지하기 위해,대기 시간).

당신은 당신을 만드는 독립형 GUI 응용 프로그램(즉스윙)?

그렇다면,당신이 고려해야 하는 방법 당신은 옵션을 제공하는 사용자가 사용하는 방법 응용 프로그램을 종료합니다.즉,는 경우가 있을 것 파일 메뉴는데,기대가 될 것이라는"Exit"메뉴 항목을 선택합니다.또한,경우에는 사용자가 닫을 마지막 창 응용 프로그램에서,나 또한 그것을 기대하여 응용 프로그램을 종료합니다.두 경우 모두에서,그것은 코드를 호출을 처리하는 절약의 사용자 환경 설정한다.

사용합니다.getRuntime().addShutdownHook()은 확실히 방법이 이렇게하려면-하지만 작성할 경우에는 그네 응용 프로그램,나는 강하게 당신을 살펴 JSR296(스윙 응용 프로그램 프레임워크)

여기에는 좋은 기사에 기초 사항: http://java.sun.com/developer/technicalArticles/javase/swingappfr/.

JSR 참조 구현을 제공하는 기능의 종류는 당신이 찾고있는에서 더 높은 추상화 수준에 추가하는 종료 후크.

여기에 참조 구현: https://appframework.dev.java.net/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top