Сделать приложение 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);
}
}

person Laszki    schedule 21.02.2012    source источник
comment
Если я правильно помню, сделайте самое внешнее окно, в котором вы показываете JPanel вместо JFrame.   -  person Thorbjørn Ravn Andersen    schedule 21.02.2012
comment
@ ThorbjørnRavnAndersen Я отредактировал свой пост с моим текущим кодом.   -  person Laszki    schedule 21.02.2012
comment
Это было бы здорово для шпионского и вредоносного ПО! Каков ваш вариант использования приложения. работать на клиентском компьютере без их ведома?   -  person Andrew Thompson    schedule 21.02.2012
comment
@AndrewThompson см. здесь: stackoverflow. ком/вопросы/9372362/   -  person Hauke Ingmar Schmidt    schedule 21.02.2012
comment
@his С первого раза угадал - "шпионское ПО". ;)   -  person Andrew Thompson    schedule 21.02.2012
comment
@AndrewThompson Нееет... просто вспомогательное руководство и система контроля качества ;-).   -  person Hauke Ingmar Schmidt    schedule 21.02.2012
comment
@Andrew, будем надеяться, что авторам вредоносных программ никто не расскажет о других языках, кроме Java! Тогда шлюзы будут открыты!   -  person Julian Fondren    schedule 21.02.2012
comment
@JulianFondren К счастью, апплеты и приложения Java, доставляемые клиентам с помощью Java Web Start, либо не могут быть сделаны полностью невидимыми, либо требуют, чтобы пользователь явно авторизовал приложение. делать «что угодно» (опять же, вряд ли «невидимо»).   -  person Andrew Thompson    schedule 21.02.2012


Ответы (3)


Кажется, я только что нашел ответ, просто поместите строку 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 APPLICATTION

person nIcE cOw    schedule 21.02.2012
comment
На снимках экрана показано законное использование окон верхнего уровня без элементов панели задач справа. - person Hauke Ingmar Schmidt; 21.02.2012
comment
@his: Прошу прощения, я не мог вас понять. - person nIcE cOw; 21.02.2012
comment
@nIcEcOw Ха-ха, ты не говоришь? дизайн Porsche уникален в мире. Я даже могу узнать его по бамперу. - person ; 09.03.2014

Расширение от JWindow вместо JFrame. (Я не проверял это на Windows 7, так как сейчас я не сижу перед компьютером с Windows. Это работало для XP и работает для Unity, что меня удивило.)

person Hauke Ingmar Schmidt    schedule 21.02.2012
comment
+1 он работает с Windows 7, это дало мне ответ, как делать виджеты, хе-хе :-) - person nIcE cOw; 22.02.2012

Насколько я знаю, убрать иконку с панели задач невозможно.

person Andrew Thompson    schedule 21.02.2012