将Java App变为Windows屏幕保护程序

时间:2010-01-25 22:00:12

标签: java screensaver

我写了一个用深度优先搜索解决迷宫的程序。我想知道如何将这个Java程序变成Screensaver应用程序?当屏幕保护程序通常被激活时,Windows 7是否有可能启动我的应用程序?

6 个答案:

答案 0 :(得分:17)

Windows屏幕保护程序只是接受某些command line arguments的程序。因此,为了使您的程序可以作为屏幕保护程序运行,您必须对其进行编码以接受这些参数。

接下来,您可能希望屏幕保护程序以全屏模式运行。这在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);
    }
}

最后,您需要使用Launch4j之类的内容将Java程序转换为Windows可执行文件,并为其提供.scr扩展名。

答案 1 :(得分:7)

我从未使用过这个,但它可能是开始的地方。 Screen Saver API


屏幕保护程序SDK的链接目前似乎已被打破,因此我链接到索引页面:JDIC。当他们修复链接时我会调整它。

答案 2 :(得分:5)

Windows屏幕保护程序只是接受某些命令行参数的exe文件detailed here

如果你可以将你的java应用程序编译成一个exe(我不再使用java了,所以我不确定存在哪些工具),然后将其重命名为.scr,这样就可以了。 或者只是制作一个.bat文件就足够了:

@echo off
java myProg.class %1

..并将其重命名为.scr

答案 3 :(得分:1)

我会查看用于在Java中创建屏幕保护程序的SaverBeans API。

答案 4 :(得分:1)

使用 JScreenSaver 库.JScreenSaver是用Java语言为Windows制作屏幕保护程序的中间件

答案 5 :(得分:0)

这种方法的替代方案之一是新的JavaFX。您可以像在Swing中一样创建精美的屏幕保护程序。最重要的是,您可以使用NetBeans轻松获得* .exe文件。