如何从任务栏中隐藏Swing表单图标?

3

假设我们有一个JFrame,一旦我将其可见性设置为true,应用程序图标就会出现在任务管理器中(就像其他应用程序一样)。
问题:是否可以从任务管理器中删除此图标(以及文本)?
提前致谢。


你是指任务栏(在窗口底部)还是任务管理器(taskmgr.exe)? - johnchen902
@johnchen902 哦,抱歉啊伙计,我是说任务栏。 :D - user2889419
请查看https://dev59.com/dVnUa4cB1Zd3GeqPXBAi。 - johnchen902
1个回答

3
创建并显示一个 JDialog,而非 JFrame,在任务管理器中通常不会添加图标。

多次运行此程序,以便自己测试:

import java.awt.Dimension;
import java.awt.Window;

import javax.swing.*;

public class Foo {
   public static void main(String[] args) {
      JPanel panel = new JPanel(new BorderLayout(5, 5));
      panel.add(Box.createRigidArea(new Dimension(400, 300)));

      Window window = null;
      if (Math.random() < 0.5) {
         window = new JDialog();
         ((JDialog) window).setTitle("Dialog");
      } else {
         window = new JFrame();
         ((JFrame)window).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         ((JFrame)window).setTitle("Frame");
      }     

      window.add(panel);
      window.pack();
      window.setLocationRelativeTo(null);
      window.setVisible(true);
   }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接