16

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

4

6 回答 6

18

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扩展名。

于 2010-01-25T22:37:20.163 回答
8

我从未使用过它,但它可能是开始的地方。屏幕保护程序 API


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

于 2010-01-25T22:07:09.467 回答
5

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

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

@echo off
java myProg.class %1

.. 并将其重命名为.scr.

于 2010-01-25T22:06:18.890 回答
1

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

于 2010-01-25T22:09:15.867 回答
1

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

于 2013-06-13T09:24:31.757 回答
0

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

于 2013-02-27T22:50:16.913 回答