gpt4 book ai didi

Java Web Start 中的 Java SplashScreen

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:13 24 4
gpt4 key购买 nike

我正在尝试将我的 Java Swing 项目移动到 Java Web Start我的启动画面有问题。此应用程序使用 Maven。

当我通过命令行或外部 exe 加载我的应用程序时,它正确显示启动画面。

final SplashScreen splash = SplashScreen.getSplashScreen();

当我通过 Java Web Start 运行应用程序时,它总是返回 null

是的,我知道 JNLP 文件中的启动画面部分。

<icon kind="splash" href="splash.png"/>

但这会在应用程序加载之前显示启动画面,而不是当应用程序运行时。换句话说,它不能替代 --splash 开关。

在 list 文件中,我有:

   SplashScreen-Image: (URL to resource,  file in jar)

这仅在我运行 jar 文件而不是在 Java Web Start 中时有效。

有没有人遇到同样的问题并找到解决方案?我需要启动画面,因为该应用程序需要几秒钟才能启动,并且此时不会向用户显示任何内容。

最佳答案

要为 JNLP 客户端显示启动画面,请调用传递启动图像路径的 start() 方法。要删除初始屏幕,请调用 stop() 方法。

public class ShowSplash 
{
private static JWindow splashFrame;

public void start(String splashImagePath) throws Exception
{
JLabel label;
ImageIcon image;
URL url;

splashFrame = new JWindow();
url = ShowSplash.class.getResource(splashImagePath);
image = new ImageIcon(url);
label = new JLabel(image);

splashFrame.add(label, BorderLayout.CENTER);
splashFrame.pack();
splashFrame.setLocationRelativeTo(null);
splashFrame.setVisible(true);
}

public void stop() throws Exception
{
splashFrame.dispose();

splashFrame = null;
}
}

关于Java Web Start 中的 Java SplashScreen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21791463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com