问题描述
我想在任务栏中运行我的应用,但我没有任务栏中的图标。
我在Hide_On_Close操作中使用我的JFrame
并且我使用托盘图标进行通知,但如何在我的GUI应用程序运行时摆脱任务栏上的图标。
解决方法
这对您有用吗?您可能需要添加正在使用的操作系统。
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
public class SysTrayFrame{
public static void main(String[] args) throws Exception{
JFrame frame = new JFrame("systray test");
frame.setUndecorated(true);
BufferedImage img = new BufferedImage(64,64,BufferedImage.TYPE_INT_ARGB);
Graphics g = img.getGraphics();
g.setColor(Color.RED);
g.fillOval(0,64);
g.dispose();
JButton b = new JButton("click to hide");
frame.add(b);
b.addActionListener(evt-> frame.setVisible(false) );
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
frame.pack();
frame.setVisible(true);
TrayIcon icon = new TrayIcon(img);
icon.addActionListener( evt->{
System.out.println("doing it");
frame.setVisible(true);
});
SystemTray.getSystemTray().add(icon);
}
}