2016-05-09 8 views
1

Ich möchte meine Java-Anwendung aus der Taskleiste ausblenden und damit nur in der Taskleiste sichtbar sein. Hier ist ein Bild, falls das unklar ist.Java-Anwendung zu System Tray ausblenden

image

Ich habe versucht, es wie this und das Symbol in der Taskleiste angezeigt hat zu implementieren, aber es ist nach wie vor die Anwendung in der Taskleiste zeigt.

Hier ist ein Teil der Frame-Klasse

public class Widget extends JFrame { 
private static final long serialVersionUID = -197136854089859547L; 
private JPanel mainPanel; 
private WidgetProperties properties; 
private Makedir mkdir; 
private ArrayList<Item> items; 
private Image icon; 
private TrayIcon trayIcon; 
private SystemTray tray; 

public Widget() { 
    super(""); 
    this.setTray(); 
    this.setUndecorated(true); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 

public void setTray() { 
    tray = SystemTray.getSystemTray(); 
    PopupMenu menu = new PopupMenu(); 
    MenuItem show = new MenuItem("Show"); 
    MenuItem exit = new MenuItem("Exit"); 
    show.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      setState(Frame.NORMAL); 
     } 
    }); 
    exit.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      close(); 
     } 
    }); 
    menu.add(show); 
    menu.addSeparator(); 
    menu.add(exit); 
    trayIcon = new TrayIcon(icon, "EasyStart", menu); 
    trayIcon.setImageAutoSize(true); 
    try 

    { 
     tray.add(trayIcon); 

    } catch (AWTException e) { 
     e.printStackTrace(); 
    } 
} 

public void setup() { 
    this.resize(); 
    this.setVisible(true); 
} 

public void resize() { 
    this.setResizable(true); 
    this.setShape(properties.getShape()); 
    this.setSize(properties.getSize()); 
    this.setResizable(false); 
} 

public void close() { 
    System.exit(0); 
} 

}

Ich muss nur finden, wie die Anwendung aus der Taskleiste zu verbergen.

+0

Ziemlich sicher, wenn Sie ein Fenster haben, wird es in der Taskleiste angezeigt; Die Taskleiste ist wirklich nur eine Liste von Fenstern – Natecat

Antwort

Verwandte Themen