Поверните приложение Java в Windows Screensaver

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

Ответы

Ответ 1

Экранная заставка 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.

Ответ 2

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


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

Ответ 3

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

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

@echo off
java myProg.class %1

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

Ответ 4

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

Ответ 5

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

Ответ 6

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