##JDK(자바개발 도구) 6 ## 그 새로운 기능들(4) 놀라와요~ ^^ - java.awt.Desktop API

2007. 3. 2. 10:36Java

오늘 3월 2일 입니다.
어제 하루종일 돌아댕기느라 태극기를 꼽지 못한게 맘에 걸리네요. 킁.

아침부터 피가 추적추적 오네요.
그래도 기분은 좋네요. (오랜만이라 그런가. ㅎㅎ

오늘은 비가 와서 차를 타고 회사 주차장에 들어가는데 서리가 끼더군요.

"밖의 온도와 실내온도가 갑자기 차이가 나서 안쪽에 서리가 끼는거죠

"조심. 조심.~"
끼면 밖이 안보입니다. 에어컨을 틀면 금방 없어지긴 하지만.. 보통 차에는
요즘 서리 제거시켜주는 기능작동 버튼이 있더군요. ^-^

요즘 서리 끼는것 방지해주는 것도 나왔다고 하긴 하는데
일시적일것 같네요.


JDK 6에 Desktop API가 추가되었네요.

1. Desktop API
    이번 6부터는 OS의 자원을 최대한 활용하는 기능들이 많이 추가되었네요. 이 Desktop도 그런것 같습니다. 전 이기능중에 제일 좋은게 (브라우저 띄우는거랑 프린팅++ 하는 것입니다.)

원본 사이트: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

흠. 아래는 Desktop API를 찾아보았습니다.
===============================================

java.awt
Class Desktop

java.lang.Object
  extended by java.awt.Desktop

public class Desktop
extends Object

The Desktop class allows a Java application to launch associated applications registered on the native desktop to handle a URI or a file.

Supported operations include:

  • launching the user-default browser to show a specified URI;
  • launching the user-default mail client with an optional mailto URI;
  • launching a registered application to open, edit or print a specified file.

           (기본 브라우저,이메일클라이언트, 프린팅, 기타 프로그램을 OS설정에 맞게 실행한다는것 같음)

This class provides methods corresponding to these operations. The methods look for the associated application registered on the current platform, and launch it to handle a URI or file. If there is no associated application or the associated application fails to be launched, an exception is thrown.

An application is registered to a URI or file type; for example, the "sxi" file extension is typically registered to StarOffice. The mechanism of registereing, accessing, and launching the associated application is platform-dependent.

Each operation is an action type represented by the Desktop.Action class.

Note: when some action is invoked and the associated application is executed, it will be executed on the same system as the one on which the Java application was launched.

Since:
1.6
==================================================================


실행하면 기본 브라우저로 등록된것이 실행됩니다. 리눅스에서는 실행을 못해봤네요. 아마 파이어폭스가 실행되겠죠.
사용자 삽입 이미지
사용자 삽입 이미지

Java 프로그램 실행도중 링크를 걸면 좋겠죠. ^^

보면 1.6 부터 생긴 API란걸 볼수 있지요. 프린트같은것 좋네요. ㅎㅎ

다음은 프린트 기능입니다. 너무 좋네요. 원하던 것이 생긴 것 같습니다.
자아 자바 프로그램으로 a.doc파일을 읽어서 프린트 하는걸 짜보세요.
(무의미 합니다. 왜냐. ms office 가 깔려있으면 그걸 열어서 프린트 하면 되니까요.)
근데 Desktop은 이걸 지원합니다. 어떻게요?

사용자 삽입 이미지

샘플 코드에서 이렇게 파일을 적고 Launch 를 누르면? ^^
해당 오피스가 실행되고, 알아서 프린트 로직까지 실행되고 프린트가 되면
해당 프로그램이 종료됩니다. ( 꼭 메크로 같네요. ^^)

멋지지 않나요.
더 좋은건 리눅스를 생각해 봅시다. 프로그래머는 하나의 파일을 프린트 하고 싶을때
특정 프로그램을 체크하지 않아도 됩니다. 그냥 aaa.print()메소드를 호출하면
알아서 이 파일과 연결된 프로그램을 이용해서 프린트 해줍니다. ㅋㅋㅋㅋ

여러번 생각하지만 이번 JDK6 의 테마는

"OS에 기반한 기능 추가"

가 가장 큰 이슈인것 같네요.



이처럼,
vs c++, c# 처럼 윈도우 api를 사용하여 조작할수는 없지만, 최소한 띄우거나 연결은 보장하는 것 같네요.
(사실 조작은 ㅋㅋ)

하도 사람들의 원성이 들려와서 일까요. ㅋㅋ 사람들이 원하는 기능들이 많이 추가되었군요.


원본사이트에도 있는 파일이지만 혹시나 해서 여기에다가도 올립니다.
by ncanis(조성준)