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