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

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

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

最后,您需要使用Launch4j之类的东西将Java程序转换为Windows可执行文件,并将其扩展为.scr

我从来没有用过这个,但它可能是开始的地方。 屏幕保护程序API 。


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

Windows屏幕保护程序只是接受某些命令行参数的exe文件, 详细信息请参见此处 。

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

 @echo off java myProg.class %1 

..并将其重命名为.scr

我将研究SaverBeans API,以便在Java中创建屏幕保护程序。

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

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