2

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);
}
}
4

3 に答える 3

5

答えを見つけたようです。その行setVisible(false);をコメントに入れるだけで、実際のプログラムが表示されます。行をコメント解除して、トレースが残っていないことを確認します。私が見る限り、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 アプリケーション

于 2012-02-21T08:35:59.330 に答える
4

JWindowの instedから拡張しJFrameます。(現在、Windows ボックスの前に座っていないため、Windows 7 ではこれをテストしませんでした。XP では機能し、Unity でも機能しました。これには驚きました。)

于 2012-02-21T06:23:37.727 に答える
3

私の知る限り、タスク バー アイコンを削除する方法はありません。

于 2012-02-21T05:46:30.537 に答える