Java API에서 우연히 Desktop라는 클래스를 보았습니다.

호기심에 API설명을 구글에 부탁해 해석해 보았습니다. ^^;

데스크탑 클래스는 자바 응용 프로그램 URI 나 파일을 처리하기 위해 기본 바탕 화면에 등록 된 관련 응용 프로그램을 실행 할 수 있습니다.

지원 작업은 다음과 같습니다 :

지정된 URI를 표시 할 수있는 사용자 기본 브라우저를 실행,
선택 mailto URI를 사용하여 사용자 기본 메일 클라이언트를 시작,
, 열을 수정하거나 지정한 파일을 인쇄 할 수있는 등록 된 응용 프로그램을 실행.
이 클래스는이 작업에 해당하는 방법을 제공합니다.방법은 현재의 플랫폼에 등록 연결된 응용 프로그램을보고, 
URI 나 파일을 처리하는 데 실행합니다. 거기에는 연결된 응용 프로그램이 없습니다 또는 관련 응용 프로그램이 실행되지 않을 경우 예외가 발생합니다.

응용 프로그램은 URI 또는 파일 유형으로 등록되어, 예를 들어, "sxi"파일 확장자는 일반적으로 스타 오피스에 등록되어 있습니다. , 
registereing 액세스 및 관련 응용 프로그램을 실행의 메커니즘이 플랫폼에 따라 달라지게된다.

각 작업은 Desktop.Action 클래스로 표현 작업 유형입니다.

참고 : 일부 작업이 호출되고 관련 응용 프로그램이 실행되면, 그것은 자바 응용 프로그램이 실행 된 것과 동일한 시스템에서 실행됩니다.


그래도 잘이해가 안가 샘플 소스를 찾아보았죠.

[샘플소스]

import java.awt.Desktop;
import java.net.URI;
 
public class DesktopTest {
 
	public static void main(String[] args) {
		try {
			URI uri = new URI("http://www.google.co.kr");
			Desktop desktop = null;
			if (Desktop.isDesktopSupported()) {
				desktop = Desktop.getDesktop();
			}
 
			if (desktop != null) {
				desktop.browse(uri);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


사용 방법은 아주 간단했습니다.


그리고 실행을 시켜 보았죠...

만약 브라우저가 실행 되어 있다면 탭이 하나가 추가 되고 구글 페이지가 보일것입니다.

브라우저를 실행시키지 않았다면 브라우저가 실행되고 구글 페이지가 보여집니다.

기본 지정된 브라우저로.....


허거덩....난 이걸 하기위해 ProcessBuilder을 사용해서 했었는데...........(아래 링크 참조)

[Java]외부명령어 실행3(웹 브라우저 실행)http://forum.falinux.com/zbxe/?document_srl=568953


이렇게 간단한 방법이 있었다니.....ㅜㅜ

복잡하게 만들었던 소스를 다 수정해야겠네....(시간이 되면....^^;)


감사합니다.