X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=6f000ddacda9043b8e6339ba4c4d95b1f1efa7d1;hb=c91960b43b7acd33dc76b9789bb61bafa05d3d09;hp=fd1783aacac7196b200044938bdc9eff73c04c5d;hpb=2ea4d68a1f9534dd2285b699862926395ad00f8b;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index fd1783a..6f000dd 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -45,6 +45,7 @@ import java.util.logging.ConsoleHandler; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UIManager.LookAndFeelInfo; @@ -76,6 +77,7 @@ import jalview.schemes.ColourSchemeI; import jalview.schemes.ColourSchemeProperty; import jalview.util.ChannelProperties; import jalview.util.HttpUtils; +import jalview.util.LaunchUtils; import jalview.util.MessageManager; import jalview.util.Platform; import jalview.ws.jws2.Jws2Discoverer; @@ -296,7 +298,10 @@ public class Jalview // report Jalview version Cache.loadBuildProperties(true); + // old ArgsParser ArgsParser aparser = new ArgsParser(args); + // new ArgParser + ArgParser argparser = new ArgParser(args); boolean headless = false; String usrPropsFile = aparser.getValue("props"); @@ -433,6 +438,35 @@ public class Jalview * @j2sIgnore */ { + + /** + * Check to see that the JVM version being run is suitable for the Java + * version this Jalview was compiled for. Popup a warning if not. + */ + if (!LaunchUtils.checkJavaVersion()) + { + Console.warn("The Java version being used (Java " + + LaunchUtils.getJavaVersion() + + ") may lead to problems. This installation of Jalview should be used with Java " + + LaunchUtils.getJavaCompileVersion() + "."); + + if (!LaunchUtils + .getBooleanUserPreference("IGNORE_JVM_WARNING_POPUP")) + { + Object[] options = { + MessageManager.getString("label.continue") }; + JOptionPane.showOptionDialog(null, + MessageManager.formatMessage( + "warning.wrong_jvm_version_message", + LaunchUtils.getJavaVersion(), + LaunchUtils.getJavaCompileVersion()), + MessageManager + .getString("warning.wrong_jvm_version_title"), + JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, + null, options, options[0]); + } + } + if (!aparser.contains("nowebservicediscovery")) { desktop.startServiceDiscovery(); @@ -494,6 +528,16 @@ public class Jalview } } + // Check if JVM and compile version might cause problems and log if it + // might. + if (headless && !Platform.isJS() && !LaunchUtils.checkJavaVersion()) + { + Console.warn("The Java version being used (Java " + + LaunchUtils.getJavaVersion() + + ") may lead to problems. This installation of Jalview should be used with Java " + + LaunchUtils.getJavaCompileVersion() + "."); + } + // Move any new getdown-launcher-new.jar into place over old // getdown-launcher.jar String appdirString = System.getProperty("getdownappdir"); @@ -513,6 +557,8 @@ public class Jalview }.start(); } + Commands.processArgs(argparser, headless); + String file = null, data = null; FileFormatI format = null; DataSourceType protocol = null; @@ -1105,12 +1151,16 @@ public class Jalview System.setProperty("com.apple.mrj.application.apple.menu.about.name", ChannelProperties.getProperty("app_name")); System.setProperty("apple.laf.useScreenMenuBar", "true"); + /* + * broken native LAFs on (ARM?) macbooks set = setQuaquaLookAndFeel(); if ((!set) || !UIManager.getLookAndFeel().getClass().toString() .toLowerCase(Locale.ROOT).contains("quaqua")) { set = setVaquaLookAndFeel(); } + */ + set = setFlatLookAndFeel(); return set; }