aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/Launcher.java
diff options
context:
space:
mode:
authorOmair Majid <omajid@redhat.com>2011-03-30 11:47:41 -0400
committerOmair Majid <omajid@redhat.com>2011-03-30 11:47:41 -0400
commite10781541da8ef982080b5b0c2ed3e8ced6f47d4 (patch)
treed5fabfafa62176b343749e5460d7a726be5ab58b /netx/net/sourceforge/jnlp/Launcher.java
parent8f8099cbfacfcd8066e4b4622fd208cec5e82792 (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.java22
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 });