2014-05-14 4 views
1

실행중인 응용 프로그램과 관련이없는 메뉴 모음 아이콘을 만들려고합니다. dropbox의 메뉴 막대 아이콘이 열려있는 응용 프로그램으로 나타나지 않고 메뉴 막대에서만 나타납니다. 나는 응용 프로그램을 실행할 때 예상대로 메뉴 표시 줄의 아이콘이 표시되어실행중인 응용 프로그램이 표시되지 않고 메뉴 모음 아이콘 만들기

package tray; 

import java.awt.AWTException; 
import java.awt.SystemTray; 
import java.awt.TrayIcon; 
import java.io.IOException; 

import javax.imageio.ImageIO; 

import logging.Logger; 

public class TrayObject { 
    private TrayIcon trayIcon; 

    public TrayObject() { 
     if(SystemTray.isSupported()) { 
      try { 
       trayIcon = new TrayIcon(
          ImageIO.read(getClass().getResource("/Add.png")), 
          "CodeLibrary"); 
       SystemTray.getSystemTray().add(trayIcon); 
      } catch (IOException e) { 
       Logger.log(this, "IOException"); 
      } catch (AWTException e) { 
       Logger.log(this, "AWTException"); 
      } 
     } 
    } 

    public static void main(String[] args) { 
     TrayObject to = new TrayObject(); 
    } 
} 

: 내가 지금까지 가지고 무엇

메뉴 표시 줄의 아이콘을 추가하는 코드입니다.

Image of my system tray

그러나, 문제는 내가 메뉴 막대가 나 응용 프로그램 사이에 탭 이동을 할 때 볼 수 있도록 응용 프로그램 'TrayObject'을하지 않는다는 것입니다. 나는 실행중인 응용 프로그램 'TrayObject'와 관련없이 메뉴 막대 아이콘을 표시합니다. Java에서이 작업을 수행 할 수 있습니까? 그렇다면 어떻게해야합니까?

답변

2

당신이 다음 도크 아이콘 및 메뉴 표시 줄을 억제 Info.plistLSUIElement 속성을 추가 할 수 있습니다 appbundler를 사용하여 .app 번들로 응용 프로그램을 마무리합니다.

<key>LSUIElement</key> 
<string>1</string> 

(예제 this apple.stackexchange question 참조)