使Java应用程序对用户不可见

我正在试图找到一种方法使Java应用程序对用户不可见。

基本上只是试图删除这个

任务栏图标 < – 图像

如何才能做到这一点?

public class TransparentWindow extends JFrame { public TransparentWindow() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { setExtendedState(Frame.MAXIMIZED_BOTH); setResizable(false); setUndecorated(true); setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); setAlwaysOnTop(true); System.setProperty("sun.java2d.noddraw", "true"); WindowUtils.setWindowTransparent(this, true); WindowUtils.setWindowAlpha(this, 0.6f); } public static void main(String[] args) { new TransparentWindow().setVisible(true); } } 

我似乎已经找到了答案,只需把行setVisible(false); 在注释中你会看到实际的程序,UNCOMMENT看到没有留下痕迹的行,据我所知,Java程序正在某个地方运行,直到你不会手动将图标添加到系统托盘中。 此外,如何从任务管理器中删除您的应用程序仍然存在问题,但您可以删除所述图标,如您在问题中所指出的那样。

 import javax.swing.*; public class TransparentWindow extends JFrame { public TransparentWindow() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { setExtendedState(JFrame.MAXIMIZED_BOTH); setResizable(false); setUndecorated(true); setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); setAlwaysOnTop(true); setOpacity(0.8f); setSize(200, 200); //System.setProperty("sun.java2d.noddraw", "true"); //WindowUtils.setWindowTransparent(this, true); //WindowUtils.setWindowAlpha(this, 0.6f); setVisible(true); setVisible(false); JOptionPane.showMessageDialog(this, "It is working!", "Guess : ", JOptionPane.INFORMATION_MESSAGE); } public static void main(String[] args) { TransparentWindow tw = new TransparentWindow(); } } 

以下是运行此程序时桌面的快照,请参阅任务栏

JAVA适用

JWindow扩展到JFrame 。 (我没有在Windows 7上对此进行测试,因为我现在没有坐在Windows机箱前面。它适用于XP,适用于Unity,让我感到惊讶。)

据我所知,没有办法删除任务栏图标。