【问题标题】:Is it possible to redirect to browser URL on splash image click?是否可以在启动图像点击时重定向到浏览器 URL?
【发布时间】:2021-04-15 07:16:28
【问题描述】:

我使用 PDE。我的工具有一个位于splash.bmp 的启动图像。在build.properties 中,我将图像包含在bin.includes (bin.includes = splash.bmp) 中。在app.product 文件中,我有以下代码:

   <splash startupProgressRect="5,275,445,15" />
   <launcher name="app">
      <linux icon="/icons/running.xpm"/>
      <win useIco="false">
         <bmp/>
      </win>
   </launcher>

我的问题如下:是否可以在启动图像中添加链接?我的意思是,一旦应用程序加载,就可以点击启动画面中的特定部分,它会打开带有链接的浏览器?

如果重要,请使用 Java8 和 Eclipse Photon。甚至可能吗?也许是一个提示?

【问题讨论】:

    标签: java splash-screen eclipse-pde


    【解决方案1】:

    我认为您正在寻找的是自定义 splash 处理程序

    Eclipse 的本机启动器为启动屏幕创建窗口并在其上绘制配置的位图。任何附加功能(例如进度条)都是用 Java 实现的。从 Eclipse 3.3 开始。这个实现可以通过扩展点org.eclipse.ui.splashHandler进行定制。

    默认实现是org.eclipse.ui.internal.splash.EclipseSplashHandler (source)。您可以从这个或其任何子类扩展您的自定义实现,也可以从头开始实现您自己的自定义处理程序。

    您的自定义处理程序实现的init 方法使用代表启动窗口的Shell 调用。您可以轻松地向初始屏幕添加其他控件,包括 Hyperlink 控件或带有鼠标侦听器的 Label

    最新的 Eclipse PDE(未使用 Photon 测试)甚至可以生成交互式启动示例。双击主 UI 插件的 MAINFEST.MF -> Extensions -> Add.. -> 选择 org.eclipse.ui.splashHandler -> 选择底部的 Splash Handler 模板 -> 下一步 -> 选择 Interactive - A simulated log-in session -> 确保 @ 987654333@被选中。

    【讨论】:

    • 您好,感谢您的回答。我创建了一个扩展EclipseSplashHandler 并实现init 的类。但是我究竟是如何在图像中添加 URL 重定向的呢?
    • 你可以在shell中添加一个鼠标监听器并根据鼠标事件的坐标打开一个URL,或者你可以在图像上放置一个超链接控件(不确定超链接控件是否支持透明背景所有操作系统)。如果您使用鼠标侦听器,您可以在浏览器中打开 URL,如下所述:stackoverflow.com/a/8227384/13510562
    • 我去看看,谢谢。在显示启动画面和使用 Handler 将 urls/version 添加到启动画面之间存在时间间隔。你知道如何消除这种尴尬的时间间隔吗?
    • 我认为最好使用最新的 eclipse 并生成交互式登录示例,如我的回答中所述。生成的代码立即显示带有两个登录控件的飞溅。您可以使用此代码作为基础并检查控件的添加方式。另一种解决方案是将链接文本添加到启动位图并使用鼠标侦听器。
    • @vesii 除了使用最新的 Eclipse,还要使用最新的 Java 来运行你的应用程序(OpenJ9 可以减少 30% 的启动时间)和make sure, your plugins do not cause the delay。我有一个启动时间不到 3 秒的 RCP 应用程序(基于 Eclipse 4.18 和 Java 15),只是为了给你一个例子来说明什么是可能的。
    猜你喜欢
    • 2020-02-05
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    相关资源
    最近更新 更多