Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在任务栏图标中运行应用程序(不在任务栏中)_Java_Swing_User Interface_Jframe_System Tray - Fatal编程技术网

Java 在任务栏图标中运行应用程序(不在任务栏中)

Java 在任务栏图标中运行应用程序(不在任务栏中),java,swing,user-interface,jframe,system-tray,Java,Swing,User Interface,Jframe,System Tray,我想在任务栏中运行我的应用程序,但我不知道任务栏中的图标 我在Hide_On_Close操作中使用JFrame 我使用托盘图标进行通知,但如何在GUI应用程序运行时去掉任务栏上的图标。这对您有用吗?您可能需要添加正在使用的操作系统 import javax.swing.*; import java.awt.*; import java.awt.image.*; public class SysTrayFrame{ public static void main(String[] arg

我想在任务栏中运行我的应用程序,但我不知道任务栏中的图标

我在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, 0, 64, 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);
    }

}

不清楚你在做什么?运行应用程序并显示JFrame,然后关闭应用程序并希望它显示在系统任务栏中?很抱歉,我所做的是一个小部件,它需要在任务栏中,但不在taskbar中,因此我必须仅隐藏任务栏上的图标。任务栏仅用于通知。任务栏上有一个打开的应用程序列表,您的在打开时是和应用程序。我使用的是windows 10pro@TheFox-CodersAcademy它也可能与你如何启动应用程序有关。您的jdk是否同时提供了java.exe和javaw.exe,使用javaw可能意味着应用程序在没有相关窗口的情况下不会显示在任务栏上。