diff options
author | Omair Majid <omajid@redhat.com> | 2011-03-30 11:47:41 -0400 |
---|---|---|
committer | Omair Majid <omajid@redhat.com> | 2011-03-30 11:47:41 -0400 |
commit | e10781541da8ef982080b5b0c2ed3e8ced6f47d4 (patch) | |
tree | d5fabfafa62176b343749e5460d7a726be5ab58b /netx/net/sourceforge/jnlp/Launcher.java | |
parent | 8f8099cbfacfcd8066e4b4622fd208cec5e82792 (diff) |
Add a new LaunchHandler to show error messages when starting applications
This LaunchHandler is only used when not running in headless mode. This
launchHandler is also responsible for showing the splash screen.
2011-03-30 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/LaunchHandler.java
(launchInitialized, launchStarting): New methods.
* netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
(launchInitialized, launchStarting): New methods. No-op
implementation.
(printMessage): Make it static.
* netx/net/sourceforge/jnlp/GuiLaunchHandler.java: New file.
(launchCompleted, launchError, launchStarting, launchInitialized),
(launchWarning, validationError): New methods.
* netx/net/sourceforge/jnlp/Launcher.java (launchApplication):
Invoke handler.launchInitialized and handler.launchStarting instead
of showing a splash screen directly.
* netx/net/sourceforge/jnlp/resources/Messages.properties: Add
ButShowDetails, ButHideDetails and Error.
* netx/net/sourceforge/jnlp/runtime/Boot.java (run): Do not exit on
error.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
(initialize): Set handler to GuiLaunchHandler if not running in
headless mode.
* netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: New
file.
(exceptionToString, show): New methods.
Diffstat (limited to 'netx/net/sourceforge/jnlp/Launcher.java')
-rw-r--r-- | netx/net/sourceforge/jnlp/Launcher.java | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/netx/net/sourceforge/jnlp/Launcher.java b/netx/net/sourceforge/jnlp/Launcher.java index 531e282..ea0afc4 100644 --- a/netx/net/sourceforge/jnlp/Launcher.java +++ b/netx/net/sourceforge/jnlp/Launcher.java @@ -396,20 +396,7 @@ public class Launcher { return null; } - final int preferredWidth = 500; - final int preferredHeight = 400; - JNLPSplashScreen splashScreen = null; - URL splashImageURL = file.getInformation().getIconLocation( - IconDesc.SPLASH, preferredWidth, preferredHeight); - if (splashImageURL != null) { - ResourceTracker resourceTracker = new ResourceTracker(true); - resourceTracker.addResource(splashImageURL, file.getFileVersion(), null, updatePolicy); - splashScreen = new JNLPSplashScreen(resourceTracker, null, null); - splashScreen.setSplashImageURL(splashImageURL); - if (splashScreen.isSplashScreenValid()) { - splashScreen.setVisible(true); - } - } + handler.launchInitialized(file); ApplicationInstance app = createApplication(file); app.initialize(); @@ -446,12 +433,7 @@ public class Launcher { setContextClassLoaderForAllThreads(app.getThreadGroup(), app.getClassLoader()); - if (splashScreen != null) { - if (splashScreen.isSplashScreenValid()) { - splashScreen.setVisible(false); - } - splashScreen.dispose(); - } + handler.launchStarting(app); main.setAccessible(true); main.invoke(null, new Object[] { args }); |