음 뭔가 해보려고 하는데 잘 안되네요-_-;
원하는 모양은 아니지만 시스템트레이에 아이콘 띄우는 것 까지 성공했습니다--;
우선 저는 윈도우를 없애고 싶은데 이게 은근히 어렵네요-_-;
FLEX3 Beta 3에서 테스트했습니다. Beta2에서는 안됩니다.
방식이 조금 업그레이드되었어요. Beta2에서는 Shall어쩌구를 썼는데 바뀌었네요.
AIR예제니까 프로젝트 만들 때 Desktop Application으로 만들어야겠죠? ^^
예제입니다.
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="init();">
<mx:Script>
<![CDATA[
public function init():void {
var icon:Loader = new Loader();
var iconMenu:NativeMenu = new NativeMenu();
var visibleCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Visible"));
var exitCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Exit"));
visibleCommand.addEventListener(Event.SELECT,
function(event:Event):void {
stage.nativeWindow.visible = true;
}
);
exitCommand.addEventListener(Event.SELECT,
function(event:Event):void {
NativeApplication.nativeApplication.icon.bitmaps = [];
NativeApplication.nativeApplication.exit();
}
);
if (NativeApplication.supportsSystemTrayIcon) {
NativeApplication.nativeApplication.autoExit = false;
icon.contentLoaderInfo.addEventListener(Event.COMPLETE, iconLoadComplete);
icon.load(new URLRequest("icons/AIRApp_16.png"));
var systray:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
systray.tooltip = "AIR application";
systray.menu = iconMenu;
}
if (NativeApplication.supportsDockIcon){
icon.contentLoaderInfo.addEventListener(Event.COMPLETE,iconLoadComplete);
icon.load(new URLRequest("icons/AIRApp_128.png"));
var dock:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
dock.menu = iconMenu;
}
}
private function iconLoadComplete(event:Event):void {
NativeApplication.nativeApplication.icon.bitmaps =
[event.target.content.bitmapData];
}
public function hide():void {
stage.nativeWindow.visible = false;
}
]]>
</mx:Script>
<mx:Button label="창숨기기버튼" click="hide();"/>
</mx:WindowedApplication>
[/code]
air 개발자문서를 보고 약간 변형에서 작성해봤습니다.
참숨기기버튼을 클릭하면 창이사라지구요. 트레이아이콘에서 오른쪽버튼을 눌러서
visible을 클릭하면 다시 생기게 만들었습니다. exit누르면 종료하게 하구요.
NativeMenuItem 클래스로 메뉴를 추가하구요.
그 객체에 addEventListener해서 Event.SELECT를 해서 함수를 지정해주면 선택된 메뉴에 대해서 지정된 함수를 호출하는 겁니다.
NativeApplication.supportsSystemTrayIcon 이거는 시스템트레이아이콘을 지원하는 놈이냐? 라고 물어보는겁니다. 윈도우는 당연히 지원하겠지요 ^^
만약 운영체제가 맥os라면 NativeApplication.supportsDockIcon라고 물어봤을 때 지원하는 것 같습니다.
크로스플랫폼(맞나-_-)형태로 제작이 되어있네요. 크로스운영체제!! 어디든 가능하게 ^^
샘플실행할 때 icons경로 밑에 AIRApp_128.png파일과 AIRApp_16.png파일이 있어야겠죠?^^
'AIR'에 해당되는 글 32건
- 2007.12.16 [AIR FLEX] 시스템트레이아이콘(system tray icon) 예제입니다.
- 2007.10.24 [AIR & FLEX] AIR개발환경셋팅과 Hello World를 찍어봅시다!!!-_-; 6
제가 제일 좋아하는 HelloWorld시간이군요-_-;
우선 Adobe Air를 받아야 합니다.
Window용으로 가볍게 받아서 설치합니다. 다음신공으로!
http://labs.adobe.com/downloads/air.html
Adobe Flex Builder 3 Beta 2를 받아야합니다.
Adobe 아이디가 있어야 합니다.
http://labs.adobe.com/downloads/
여기서 Flex Builder 3 Beta 2를 선택합니다.
여기에 AIR SDK가 포함되어 있습니다.
물론 AIR SDK만 받아서 컴파일하는 식으로 해도 되는데
전 클릭세대라서-_-;
자 우선 무쟈게 무거운 Flex Builder 3 Beta 2를 설치합시다.
StandAlone이든 Plugin방식이든 어떤 것으로 설치해도 됩니다.
Flex Builder를 실행해봅시다.
File -> New -> Flex Project를 만듭시다.
Project name은 "AirHelloWorld" 로 합니다.
Application type은 AIR를 할꺼니깐 당근 Desktop application (runs in Adobe AIR)를 선택합니다.
Finish를 클릭해서 프로젝트를 만듭시다.
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
</mx:WindowedApplication>
[/code]
기본적으로 저렇게 되어있네요. 이건 WindowedApplication이라는 컴포넌트를 사용하는군요.
저기에 HelloWorld를 찍어봅시다.
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
title="Hello World">
<mx:Style>
Application
{
background-image:"";
background-color:"";
background-alpha:"0.5";
}
</mx:Style>
<mx:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</mx:WindowedApplication>
[/code]
Label컴포넌트를 하나 추가해서 Hello AIR라고 찍었네요. Flex랑 문법이 같아요-_-;
Run As를 실행해서 Adobe AIR Application을 선택하고 OK를 누릅시다.
아...예전에 빡씨게 윈도우프로그래밍을 공부하던게 생각나네요-_-;
이건뭐 디게 쉬워졌네요. 기존 C/C++기반의 윈도우즈프로그래밍보다 강력하다고는 말 못하겠지만, 웹과 연동하거나 데이터를 다루는 부분은 더욱 코딩하기 쉬워질 것 같네요.
MFC프로그래밍 해보신 분들은 알껍니다-_-;
이거를 배포해보도록 합시다-_-; install프로그램까지 친절하게 만들어주는군요-_-;
이클립스에 Flex Navigator에서 AirHelloWorld를 클릭한 뒤 export를 합시다.
그러면 Flex폴더안에 Export Release Version이라는 게 있습니다. 고걸 선택합니다.
다 default로 하고 export하는 파일의 확장자는 air인데, 이거를 더블클릭하면 자동으로 설치가 됩니다.
(물론 AIR가 설치된 Desktop에서만 되겠지요 ^^)
다음으로 넘어가면 Digital Signature라고 해서 디지털서명같은데요. 잘모르겠습니다-_-;
그냥 Create로 하나생성해서 이름쓰고, 비번정하고, 한다음에 비밀번호를 씁시다 ^^
(저작권 보호 그런건가요?-_-;)
그다음 Finish를 클릭합니다. 그러면 air파일이 생성되었습니다.
이거를 설치해봅시다.
export한 파일을 찾아서 더블클릭합니다.
그러면 저렇게 뜨는데 install을 클릭해서 설치를 해봅시다.
desktop에 아이콘을 추가할 꺼냐고 묻네요.
설치후에 application을 실행할껀가도 묻는군요.
어디다 설치할지도 묻네요. Program Files로 되어있을텐데 저기다 설치하면 자동으로 폴더가 AirHelloWorld가 만들어지게 됩니다. 설치가 완료되면...
아까 플렉스에서 실행한 화면이 뜨네요-_-;
지울때에는 프로그램 지울 때 처럼 지우세요-_-;
이거 뭔가 새로운 세계에 온 듯 하네요-_-;
따라하기 출처 - Developing AIR Applications with Adobe Flex (adobe)
우선 Adobe Air를 받아야 합니다.
Window용으로 가볍게 받아서 설치합니다. 다음신공으로!
http://labs.adobe.com/downloads/air.html
Adobe Flex Builder 3 Beta 2를 받아야합니다.
Adobe 아이디가 있어야 합니다.
http://labs.adobe.com/downloads/
여기서 Flex Builder 3 Beta 2를 선택합니다.
여기에 AIR SDK가 포함되어 있습니다.
물론 AIR SDK만 받아서 컴파일하는 식으로 해도 되는데
전 클릭세대라서-_-;
자 우선 무쟈게 무거운 Flex Builder 3 Beta 2를 설치합시다.
StandAlone이든 Plugin방식이든 어떤 것으로 설치해도 됩니다.
Flex Builder를 실행해봅시다.
File -> New -> Flex Project를 만듭시다.
Project name은 "AirHelloWorld" 로 합니다.
Application type은 AIR를 할꺼니깐 당근 Desktop application (runs in Adobe AIR)를 선택합니다.
Finish를 클릭해서 프로젝트를 만듭시다.
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
</mx:WindowedApplication>
[/code]
기본적으로 저렇게 되어있네요. 이건 WindowedApplication이라는 컴포넌트를 사용하는군요.
저기에 HelloWorld를 찍어봅시다.
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
title="Hello World">
<mx:Style>
Application
{
background-image:"";
background-color:"";
background-alpha:"0.5";
}
</mx:Style>
<mx:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</mx:WindowedApplication>
[/code]
Label컴포넌트를 하나 추가해서 Hello AIR라고 찍었네요. Flex랑 문법이 같아요-_-;
Run As를 실행해서 Adobe AIR Application을 선택하고 OK를 누릅시다.
아...예전에 빡씨게 윈도우프로그래밍을 공부하던게 생각나네요-_-;
이건뭐 디게 쉬워졌네요. 기존 C/C++기반의 윈도우즈프로그래밍보다 강력하다고는 말 못하겠지만, 웹과 연동하거나 데이터를 다루는 부분은 더욱 코딩하기 쉬워질 것 같네요.
MFC프로그래밍 해보신 분들은 알껍니다-_-;
이거를 배포해보도록 합시다-_-; install프로그램까지 친절하게 만들어주는군요-_-;
이클립스에 Flex Navigator에서 AirHelloWorld를 클릭한 뒤 export를 합시다.
그러면 Flex폴더안에 Export Release Version이라는 게 있습니다. 고걸 선택합니다.
다 default로 하고 export하는 파일의 확장자는 air인데, 이거를 더블클릭하면 자동으로 설치가 됩니다.
(물론 AIR가 설치된 Desktop에서만 되겠지요 ^^)
다음으로 넘어가면 Digital Signature라고 해서 디지털서명같은데요. 잘모르겠습니다-_-;
그냥 Create로 하나생성해서 이름쓰고, 비번정하고, 한다음에 비밀번호를 씁시다 ^^
(저작권 보호 그런건가요?-_-;)
그다음 Finish를 클릭합니다. 그러면 air파일이 생성되었습니다.
이거를 설치해봅시다.
export한 파일을 찾아서 더블클릭합니다.
그러면 저렇게 뜨는데 install을 클릭해서 설치를 해봅시다.
desktop에 아이콘을 추가할 꺼냐고 묻네요.
설치후에 application을 실행할껀가도 묻는군요.
어디다 설치할지도 묻네요. Program Files로 되어있을텐데 저기다 설치하면 자동으로 폴더가 AirHelloWorld가 만들어지게 됩니다. 설치가 완료되면...
아까 플렉스에서 실행한 화면이 뜨네요-_-;
지울때에는 프로그램 지울 때 처럼 지우세요-_-;
이거 뭔가 새로운 세계에 온 듯 하네요-_-;
따라하기 출처 - Developing AIR Applications with Adobe Flex (adobe)