+ /**
+ * update text in author text panel reflecting current version information
+ */
+ protected boolean refreshText()
+ {
+ String newtext = Desktop.instance.getAboutMessage();
+ // jalview.bin.Console.errPrintln("Text found: \n"+newtext+"\nEnd of
+ // newtext.");
+ if (oldTextLength != newtext.length())
+ {
+ iframe.setVisible(false);
+ oldTextLength = newtext.length();
+ if (Platform.isJS()) // BH 2019
+ {
+ /*
+ * SwingJS doesn't have HTMLEditorKit, required for a JTextPane
+ * to display formatted html, so we use a simple alternative
+ */
+ String text = "<html><br><img src=\""
+ + ChannelProperties.getImageURL("banner") + "\"/>" + newtext
+ + "<br></html>";
+ JLabel ta = new JLabel(text);
+ ta.setOpaque(true);
+ ta.setBackground(Color.white);
+ splashText = ta;
+ }
+ else
+ /**
+ * Java only
+ *
+ * @j2sIgnore
+ */
+ {
+ JTextPane jtp = new JTextPane();
+ jtp.setEditable(false);
+ jtp.setBackground(bg);
+ jtp.setForeground(fg);
+ jtp.setFont(font);
+ jtp.setContentType("text/html");
+ jtp.setText("<html>" + newtext + "</html>");
+ jtp.addHyperlinkListener(this);
+ splashText = jtp;
+ }
+ splashText.addMouseListener(closer);
+
+ splashText.setVisible(true);
+ splashText.setSize(new Dimension(750,
+ 425 + logoSize + (Platform.isJS() ? 40 : 0)));
+ splashText.setBackground(bg);
+ splashText.setForeground(fg);
+ splashText.setFont(font);
+ add(splashText, BorderLayout.CENTER);
+ revalidate();
+ int width = Math.max(splashText.getWidth(), iconimg.getWidth());
+ int height = splashText.getHeight() + iconimg.getHeight();
+ iframe.setBounds(
+ Math.max(0, (Desktop.instance.getWidth() - width) / 2),
+ Math.max(0, (Desktop.instance.getHeight() - height) / 2),
+ width, height);
+ iframe.validate();
+ iframe.setVisible(true);
+ return true;
+ }
+ return false;