'--module-path', ext.modules_compileClasspath.asPath,
'--add-modules', j11modules
]
+} else if (JAVA_VERSION.equals("12") || JAVA_VERSION.equals("13")) {
+ JAVA_INTEGER_VERSION = JAVA_VERSION
+ libDir = j11libDir
+ libDistDir = j11libDir
+ compile_source_compatibility = JAVA_VERSION
+ compile_target_compatibility = JAVA_VERSION
+ getdown_alt_java_min_version = getdown_alt_java11_min_version
+ getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location
+ eclipse_java_runtime_name = "JavaSE-11"
+ additional_compiler_args += [
+ '--module-path', ext.modules_compileClasspath.asPath,
+ '--add-modules', j11modules
+ ]
} else {
throw new GradleException("JAVA_VERSION=$JAVA_VERSION not currently supported by Jalview")
}
} else if (allowedReplaceKeys.contains(mkey)){
// replace value
-
_data.put(key, nvalue);
+
} else {
log.warning("Not merging key '"+key+"' into config");
}
} catch (NoClassDefFoundError e)
{
// com.sun.management.OperatingSystemMXBean doesn't exist in this JVM
- System.out.println("No com.sun.management.OperatingSystemMXBean");
+ System.err.println("No com.sun.management.OperatingSystemMXBean");
}
// We didn't get a com.sun.management.OperatingSystemMXBean.
<build>
<plugins>
+ <!--
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<addMavenDescriptor>false</addMavenDescriptor>
</configuration>
</plugin>
-
+ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<goals>
<goal>shade</goal>
</goals>
+ <!--
+ <configuration>
+ <minimizeJar>true</minimizeJar>
+ <filters>
+ <filter>
+ <artifact>install4j-runtime</artifact>
+ <includes>
+ <include>**</include>
+ </includes>
+ </filter>
+ </filters>
+ </configuration>
+ -->
</execution>
</executions>
</plugin>
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
+import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
+import javax.swing.JPanel;
import com.samskivert.swing.util.SwingUtil;
import com.threerings.getdown.data.*;
if (_silent || (_container != null && !reinit)) {
return;
}
-
+/*
EventQueue.invokeLater(new Runnable() {
public void run () {
+*/
if (_container == null || reinit) {
if (_container == null) {
_container = createContainer();
}
configureContainer();
_layers = new JLayeredPane();
+
+
+
+ // added in the instant display of a splashscreen
+ try {
+ readConfig(false);
+ Graphics g = _container.getGraphics();
+ String imageFile = _ifc.backgroundImage;
+ BufferedImage bgImage = loadImage(_ifc.backgroundImage);
+ int bwidth = bgImage.getWidth();
+ int bheight = bgImage.getHeight();
+
+ instantSplashPane = new JPanel() {
+ @Override
+ protected void paintComponent(Graphics g)
+ {
+ super.paintComponent(g);
+ // attempt to draw a background image...
+ if (bgImage != null) {
+ g.drawImage(bgImage, 0, 0, this);
+ }
+ }
+ };
+
+ instantSplashPane.setSize(bwidth,bheight);
+ instantSplashPane.setPreferredSize(new Dimension(bwidth,bheight));
+
+ _layers.add(instantSplashPane, Integer.valueOf(0));
+
+ _container.setPreferredSize(new Dimension(bwidth,bheight));
+ } catch (Exception e) {
+ log.warning("Failed to set instant background image", "bg", _ifc.backgroundImage);
+ }
+
+
+
_container.add(_layers, BorderLayout.CENTER);
_patchNotes = new JButton(new AbstractAction(_msgs.getString("m.patch_notes")) {
@Override public void actionPerformed (ActionEvent event) {
_patchNotes.setFont(StatusPanel.FONT);
_layers.add(_patchNotes);
_status = new StatusPanel(_msgs);
- _layers.add(_status);
+ _layers.add(_status, Integer.valueOf(10));
initInterface();
}
showContainer();
+/*
}
});
+*/
}
/**
protected RotatingBackgrounds getBackground ()
{
- if (_ifc.rotatingBackgrounds != null) {
+ if (_ifc.rotatingBackgrounds != null && _ifc.rotatingBackgrounds.size() > 0) {
if (_ifc.backgroundImage != null) {
log.warning("ui.background_image and ui.rotating_background were both specified. " +
"The background image is being used.");
}
- return new RotatingBackgrounds(loadImage(_ifc.backgroundImage));
- //return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, Getdown.this);
+ return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, Getdown.this);
} else if (_ifc.backgroundImage != null) {
return new RotatingBackgrounds(loadImage(_ifc.backgroundImage));
} else {
protected ResourceBundle _msgs;
protected Container _container;
protected JLayeredPane _layers;
+ protected JPanel instantSplashPane;
protected StatusPanel _status;
protected JButton _patchNotes;
protected AbortPanel _abort;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;
-import com.install4j.api.launcher.StartupNotification;
import com.samskivert.swing.util.SwingUtil;
import com.threerings.getdown.data.Application;
import com.threerings.getdown.data.EnvConfig;
import com.threerings.getdown.util.LaunchUtil;
import com.threerings.getdown.util.StringUtil;
import static com.threerings.getdown.Log.log;
+import jalview.bin.StartupNotificationListener;
/**
* The main application entry point for Getdown.
try
{
- StartupNotification.registerStartupListener(
- new StartupNotification.Listener() {
- @Override
- public void startupPerformed(String parameters)
- {
- log.warning("StartupNotification.Listener.startupPerformed: '"+parameters+"'");
- setStartupFilesParameterString(parameters);
- }
- });
+ jalview.bin.StartupNotificationListener.setListener();
} catch (Exception e)
{
e.printStackTrace();
+ } catch (NoClassDefFoundError e)
+ {
+ log.warning("Starting without install4j classes");
+ } catch (Throwable t)
+ {
+ t.printStackTrace();
}
// record a few things for posterity
log.warning("Failed to set background", "bg", _ifc.background, e);
}
- if (_ifc.iconImages != null) {
+ if (_ifc.iconImages != null && _ifc.iconImages.size() > 0) {
ArrayList<Image> icons = new ArrayList<>();
for (String path : _ifc.iconImages) {
Image img = loadImage(path);
--- /dev/null
+package jalview.bin;
+
+import com.threerings.getdown.launcher.GetdownApp;
+import static com.threerings.getdown.Log.log;
+
+public class StartupNotificationListener {
+
+ public static void setListener() {
+
+
+ try {
+ com.install4j.api.launcher.StartupNotification.registerStartupListener(
+ new com.install4j.api.launcher.StartupNotification.Listener() {
+ @Override
+ public void startupPerformed(String parameters) {
+ log.info("StartupNotification.Listener.startupPerformed: '"+parameters+"'");
+ GetdownApp.setStartupFilesParameterString(parameters);
+ }
+ }
+ );
+ } catch (Exception e) {
+ e.printStackTrace();
+ } catch (NoClassDefFoundError t) {
+ log.warning("Starting without install4j classes");
+ }
+
+ }
+
+}
<groupId>com.install4j</groupId>
<artifactId>install4j-runtime</artifactId>
<version>7.0.11</version>
- <!--<scope>provided</scope>-->
+ <scope>provided</scope>
</dependency>
</dependencies>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
+ <version>3.8.1</version>
<configuration>
- <source>1.7</source>
- <target>1.7</target>
+ <source>1.8</source>
+ <target>1.8</target>
<fork>true</fork>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
} catch (NoClassDefFoundError e)
{
// com.sun.management.OperatingSystemMXBean doesn't exist in this JVM
- System.out.println("No com.sun.management.OperatingSystemMXBean");
+ Cache.log.error("No com.sun.management.OperatingSystemMXBean");
}
// We didn't get a com.sun.management.OperatingSystemMXBean.
import jalview.gui.JvSwingUtils;
import jalview.util.MessageManager;
-import jalview.util.ShortcutKeyMaskExWrapper;
import java.awt.BorderLayout;
import java.awt.Font;
});
close.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_W,
- ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false));
+ jalview.util.ShortcutKeyMaskExWrapper
+ .getMenuShortcutKeyMaskEx(),
+ false));
selectAll.setText(MessageManager.getString("action.select_all"));
selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_A,
- ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false));
+ jalview.util.ShortcutKeyMaskExWrapper
+ .getMenuShortcutKeyMaskEx(),
+ false));
selectAll.addActionListener(new ActionListener()
{
@Override
save.setText(MessageManager.getString("action.save"));
save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_S,
- ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false));
+ jalview.util.ShortcutKeyMaskExWrapper
+ .getMenuShortcutKeyMaskEx(),
+ false));
save.addActionListener(new ActionListener()
{
@Override
});
copyItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_C,
- ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(), false));
+ jalview.util.ShortcutKeyMaskExWrapper
+ .getMenuShortcutKeyMaskEx(),
+ false));
editMenubar.add(jMenu1);
editMenubar.add(editMenu);