SysTray for Java

Alguem sabe como deixa aqueles icones ao lado do relógio do windows quando o programa esta sendo executado.

Se alguém tiver uma classe pronta para resolver este problema e servir de exemplo eu agradeço.

É conhecido como SysTray

Cara o pessoal usa o jdic, https://jdic.dev.java.net/

falow :lol:

É free ?

[quote=sys]É free ?
R: License - Lesser General Public License (LGPL).[/quote]

Outro utilizado:
http://systray.sourceforge.net/

[]'s

Tipo…você poderia ir na página e ver, que tal? :roll:

Acessei a página vi que a licença é LGPL, sei que cada licença tem um significado, vi isto em uma palestra mas não me recordo se LGPL é free. Eu posso utilizar para desenvolver uma aplicação sem problemas ?

Outro detalhe acessei a pagina e baixei o arquivo

tray-0.1.6-bin-windows.zip

Depois tentei rodar o exemplo da abaixo que foi retirado da página:

import java.awt.event.*;
import javax.swing.*;
import org.jdesktop.jdic.tray.*;   
   


 
public class TestTray {
    public static JMenuItem quit;
    
    public TestTray() {
        JPopupMenu menu = new JPopupMenu("Tray Icon Menu");
        menu.add(new JMenuItem("Test Item"));
        menu.addSeparator();
        JMenuItem quitItem = new JMenuItem("Quit");
        quitItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                System.exit(0);
            }});
        menu.add(quitItem);
        
        // Resource file "duke.gif" must exist at the same directory
        // as this class file   .
        ImageIcon icon = new ImageIcon("duke.gif");
        TrayIcon ti = new TrayIcon(icon, "JDIC Tray Icon API Test", menu); 

        // Action listener for left click.
        ti.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, 
                    "JDIC Tray Icon API Test!", "About",
                    JOptionPane.INFORMATION_MESSAGE);
            }
        }); 
               
        SystemTray tray = SystemTray.getDefaultSystemTray();
        tray.addTrayIcon(ti); 
    }

    public static void main(String[] args) {
        new TestTray();
    }   
}
import org.jdesktop.jdic.tray.*;
^
TrayIcon.java [13:1] cannot resolve symbol
symbol  : class SWT 
location: package swt
import org.eclipse.swt.SWT;
                       ^
TrayIcon.java [14:1] package org.eclipse.swt.graphics does not exist
import org.eclipse.swt.graphics.Image;
                                ^
TrayIcon.java [15:1] package org.eclipse.swt.internal does not exist
import org.eclipse.swt.internal.Converter;
                                ^
TrayIcon.java [16:1] package org.eclipse.swt.internal.gtk does not exist
import org.eclipse.swt.internal.gtk.GtkRequisition;
                                    ^
TrayIcon.java [17:1] package org.eclipse.swt.internal.gtk does not exist
import org.eclipse.swt.internal.gtk.OS;
                                    ^
TrayIcon.java [31:1] cannot resolve symbol
symbol  : class Control 
location: class org.eclipse.swt.widgets.TrayIcon
public class TrayIcon extends Control {
                              ^
TrayIcon.java [40:1] cannot resolve symbol
symbol  : class Image 
location: class org.eclipse.swt.widgets.TrayIcon
        Image image;
        ^
TrayIcon.java [61:1] cannot resolve symbol
symbol  : class Composite 
location: class org.eclipse.swt.widgets.TrayIcon
public TrayIcon (Composite parent, int style) {
                 ^
TrayIcon.java [90:1] cannot resolve symbol
symbol  : class Image 
location: class org.eclipse.swt.widgets.TrayIcon
public void setImage (Image image) {
                      ^
demo/TestTray.java [22:1] cannot access TrayIcon
bad class file: D:\SRO\SystemTry_Java\TrayIcon.java
file does not contain class TrayIcon
Please remove or make sure it appears in the correct subdirectory of the classpath.
        TrayIcon ti = new TrayIcon(icon, "JDIC Tray Icon API Test", menu);
        ^
11 errors
Errors compiling TestTray.

Quando descompactei o arquivo tray-0.1.6-bin-windows.zip

Observei que na estrutra org.jdesktop.jdic.tray

tem apenas os arquivos html e não .class

ESTOU COM PROBLEMAS E NÃO CONSIGO USA ALGUEM PODE ME AJUDAR…

Cara, eu tbm tive o msm problema…
Mais é só vc extrair o conteudo do arquivo “packager.jar”…

Valew!!

No Java SE 6, existe uma API padrão pra isso. Eu descrevi como usá-la no meu blog.

Também escrevi sobre a bandeja do sistema. Você pode conferir o texto aqui.

T+!

1 curtida

Cara seguinte em vez de usar:
JPopupMenu menu = new JPopupMenu(“Tray Icon Menu”);
use:
PopupMenu menu = new PopupMenu(“Tray Icon Menu”); //do AWT

troque tambem:
JMenuItem quitItem = new JMenuItem(“Quit”);
por:
MenuItem quitItem = new MenuItem(“Quit”);

Voce esta usando os componetes do Swing e TrayIcon que eu saiba me corrijão se estiver falando besteira, mas suporta apenas os componentes do awt.

Caso não resolver sertifiquese que a imagem ImageIcon icon = new ImageIcon(“duke.gif”); existe.

Se ainda der erro posta o erro ai Valeu!

Caramba cara, esse post tem 3 anos…