Превратите Java-приложение в заставку Windows - PullRequest
15 голосов
/ 26 января 2010

Я написал программу, которая решает лабиринты с поиском в глубину. Мне было интересно, как превратить эту программу Java в приложение Screensaver? Есть ли способ, которым Windows 7 запускает мое приложение, когда заставка обычно активируется?

Ответы [ 6 ]

17 голосов
/ 26 января 2010

Заставка Windows - это просто программа, которая принимает определенные аргументы командной строки . Поэтому, чтобы ваша программа работала в качестве экранной заставки, вы должны написать ее, чтобы принять эти аргументы.

Далее вы, вероятно, захотите, чтобы заставка работала в полноэкранном режиме. Это очень просто сделать в Java, как показано в примере ниже:

 public final class ScreenSaver {

     public static final void main(final String[] args) throws Exception {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

         final JFrame screenSaverFrame = new JFrame();
         screenSaverFrame.setDefaultCloseOperation(
             WindowConstants.EXIT_ON_CLOSE);
         screenSaverFrame.setUndecorated(true);
         screenSaverFrame.setResizable(false);
         screenSaverFrame.add(new JLabel("This is a Java Screensaver!",
                              SwingConstants.CENTER), BorderLayout.CENTER);
         screenSaverFrame.validate();
         GraphicsEnvironment.getLocalGraphicsEnvironment()
                   .getDefaultScreenDevice()
                   .setFullScreenWindow(screenSaverFrame);
    }
}

Наконец, вам нужно превратить вашу Java-программу в исполняемый файл Windows, используя что-то вроде Launch4j и дать ей .scr расширение.

7 голосов
/ 26 января 2010

Я никогда не использовал это, но это может быть место для начала. API заставки .


Ссылка на скринсейвер SDK в данный момент не работает, поэтому я ссылаюсь на страницу индекса: JDIC . Когда они исправят свою ссылку, я исправлю это.

5 голосов
/ 26 января 2010

Заставки Windows - это просто исполняемые файлы, которые принимают определенные аргументы командной строки, подробно здесь .

Если вы можете скомпилировать ваше Java-приложение в исполняемый файл (я больше не использую Java, поэтому я не уверен, какие инструменты существуют), то переименуйте его в .scr, чтобы это произошло. Или может быть достаточно просто создать файл .bat, например:

@echo off
java myProg.class %1

.. И переименуйте его в .scr.

1 голос
/ 13 июня 2013

Используйте библиотеку JScreenSaver . JScreenSaver - это промежуточное ПО для создания заставки для Windows на языке Java

1 голос
/ 26 января 2010

Я бы посмотрел на SaverBeans API для создания заставок в Java.

0 голосов
/ 28 февраля 2013

Одной из альтернатив этому подходу является новый JavaFX. Вы можете создать модную заставку так же, как в Swing. Кроме того, вы легко получаете файл * .exe, используя NetBeans.

...