2013-04-30 3 views
6

제목 혼란 창에 "내 자바 응용 프로그램과 파일 열기"이벤트를 수신하지만, 몇 가지 단어에 이것을 설명하는 방법을 알고하지 않습니다

나는 * .EXAMPLE 파일을 읽는 자바 응용 프로그램이 있습니다. 또한 install4j 덕분에 파일 연결을 추가했습니다. 사용자가 확장명이 * .example 인 파일을 두 번 클릭하면 응용 프로그램이 시작됩니다.

install4j가 파일 경로를 args[]으로 보내면 쉽게 열 수 있습니다. 그 파일을 내 응용 프로그램에 표시하십시오. BUT 앱이 이미 실행 중이면 어떻게 되나요? 응용 프로그램 인스턴스 하나만 허용 할 수 있습니다. 사용자가 파일을 여는 것을 어떻게 알 수 있습니까? http://resources.ej-technologies.com/install4j/help/api/com/install4j/api/launcher/StartupNotification.html

을하지만 난 여전히 내가 그것을 사용해야하고 나는이 이벤트를 수신하기 위해 내 애플 리케이션에 무엇을 추가해야하는 방법을 이해하지 않습니다

이걸 발견했습니다. 예를 어디에서 찾을 수 있습니까? 다른 스레드에서 호출됩니다 startupPerformed 때문에

StartupNotification.registerStartupListener(new StartupNotification.Listener() { 
    public void startupPerformed(String parameters) { 
     System.out.println("Startup performed with parameters " + parameters); 
    } 
}); 

, 당신은 이러한 알림을 처리하는 코드가 있는지 확인해야합니다 : 당신이 할 수있는 것처럼 당신이에 링크 된 문서를 바탕으로

+0

Install4J를 통해 해결책을 찾을 수 없다면 항상 [Java Web Start] (http://stackoverflow.com/tags/java-web-start/info)가 있습니다. [파일 서비스 데모.] (http://pscode.org/jws/api.html#fs)에는 파일을 처음 실행할 때뿐만 아니라 새 파일을 열 때 사용하는 방법이 나와 있습니다. –

답변

4

, 그것은 본다 thread-safe.

문서는 말한다 :

여러 파일의 경우, 파일은 큰 따옴표로 둘러싸여 있으며 공백으로 구분.

그래서 매개 변수 문자열도 직접 구문 분석해야합니다.

+0

좋은 소리, 내일 시도하고 받아 들일 것입니다. 고맙습니다. @ 앤드류 돈! – TheBronx

+1

it =) 프로젝트의 라이브러리로'i4jruntime.jar'을 추가했고'main()'안에 샘플 코드를 사용했습니다. 앱이 실행 중이고 파일을 열면 이벤트가 발생하고'parameters' var에는 파일의 절대 경로가 포함됩니다. – TheBronx