From: Jim Procter Date: Fri, 28 Jun 2019 15:30:02 +0000 (+0100) Subject: Merge branch 'bug/JAL-3333_Blurry_fonts_in_WebServiceInfo_window_title_in_macOS_mojav... X-Git-Tag: Release_2_11_0~2^2~24 X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=841f13d7e763ece0241a5016ebcf7650cd4f7b92;hp=af972c6e951f204cc20330bda92895c1d1cca8e1 Merge branch 'bug/JAL-3333_Blurry_fonts_in_WebServiceInfo_window_title_in_macOS_mojave' into develop --- diff --git a/resources/images/Jalview_Logo_small_with_border.png b/resources/images/Jalview_Logo_small_with_border.png new file mode 100644 index 0000000..b91e2bb Binary files /dev/null and b/resources/images/Jalview_Logo_small_with_border.png differ diff --git a/src/jalview/gui/WebserviceInfo.java b/src/jalview/gui/WebserviceInfo.java index 2fc08e1..f97f808 100644 --- a/src/jalview/gui/WebserviceInfo.java +++ b/src/jalview/gui/WebserviceInfo.java @@ -26,12 +26,13 @@ import jalview.ws.WSClientI; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Font; +import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.MediaTracker; +import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.image.BufferedImage; import java.util.Vector; @@ -39,7 +40,6 @@ import java.util.Vector; import javax.swing.JComponent; import javax.swing.JEditorPane; import javax.swing.JInternalFrame; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; @@ -329,7 +329,7 @@ public class WebserviceInfo extends GWebserviceInfo setInfoText(info); java.net.URL url = getClass() - .getResource("/images/Jalview_Logo_small.png"); + .getResource("/images/Jalview_Logo_small_with_border.png"); image = java.awt.Toolkit.getDefaultToolkit().createImage(url); MediaTracker mt = new MediaTracker(this); @@ -343,7 +343,9 @@ public class WebserviceInfo extends GWebserviceInfo } AnimatedPanel ap = new AnimatedPanel(); - titlePanel.add(ap, BorderLayout.CENTER); + ap.setPreferredSize(new Dimension(60, 60)); + titlePanel.add(ap, BorderLayout.WEST); + titlePanel.add(titleText, BorderLayout.CENTER); Thread thread = new Thread(ap); thread.start(); @@ -351,7 +353,8 @@ public class WebserviceInfo extends GWebserviceInfo frame.addInternalFrameListener( new javax.swing.event.InternalFrameAdapter() { - public void internalFrameClosed( + @Override + public void internalFrameClosed( javax.swing.event.InternalFrameEvent evt) { // System.out.println("Shutting down webservice client"); @@ -375,6 +378,36 @@ public class WebserviceInfo extends GWebserviceInfo public void setStatus(int status) { currentStatus = status; + + String message = null; + switch (currentStatus) + { + case STATE_QUEUING: + message = MessageManager.getString("label.state_queueing"); + break; + + case STATE_RUNNING: + message = MessageManager.getString("label.state_running"); + break; + + case STATE_STOPPED_OK: + message = MessageManager.getString("label.state_completed"); + break; + + case STATE_CANCELLED_OK: + message = MessageManager.getString("label.state_job_cancelled"); + break; + + case STATE_STOPPED_ERROR: + message = MessageManager.getString("label.state_job_error"); + break; + + case STATE_STOPPED_SERVERERROR: + message = MessageManager.getString("label.server_error_try_later"); + break; + } + titleText.setText(title + (message == null ? "" : " - " + message)); + titleText.repaint(); } /** @@ -676,7 +709,8 @@ public class WebserviceInfo extends GWebserviceInfo * @param e * DOCUMENT ME! */ - protected void cancel_actionPerformed(ActionEvent e) + @Override +protected void cancel_actionPerformed(ActionEvent e) { if (!serviceIsCancellable) { @@ -707,7 +741,8 @@ public class WebserviceInfo extends GWebserviceInfo { javax.swing.SwingUtilities.invokeLater(new Runnable() { - public void run() + @Override + public void run() { JvOptionPane.showInternalMessageDialog(Desktop.desktop, message, title, JvOptionPane.WARNING_MESSAGE); @@ -756,7 +791,8 @@ public class WebserviceInfo extends GWebserviceInfo BufferedImage offscreen; - public void run() + @Override + public void run() { startTime = System.currentTimeMillis(); @@ -797,75 +833,27 @@ public class WebserviceInfo extends GWebserviceInfo Graphics2D g = (Graphics2D) offscreen.getGraphics(); + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, + RenderingHints.VALUE_INTERPOLATION_BICUBIC); + g.setRenderingHint(RenderingHints.KEY_RENDERING, + RenderingHints.VALUE_RENDER_QUALITY); + g.setColor(Color.white); g.fillRect(0, 0, getWidth(), getHeight()); - g.setFont(new Font("Arial", Font.BOLD, 12)); - g.setColor(Color.black); - - switch (currentStatus) - { - case STATE_QUEUING: - g.drawString( - title.concat(" - ").concat( - MessageManager.getString("label.state_queueing")), - 60, 30); - - break; - - case STATE_RUNNING: - g.drawString( - title.concat(" - ").concat( - MessageManager.getString("label.state_running")), - 60, 30); - - break; - - case STATE_STOPPED_OK: - g.drawString( - title.concat(" - ").concat( - MessageManager.getString("label.state_completed")), - 60, 30); - - break; - - case STATE_CANCELLED_OK: - g.drawString( - title.concat(" - ") - .concat(MessageManager - .getString("label.state_job_cancelled")), - 60, 30); - - break; - - case STATE_STOPPED_ERROR: - g.drawString( - title.concat(" - ").concat( - MessageManager.getString("label.state_job_error")), - 60, 30); - - break; - - case STATE_STOPPED_SERVERERROR: - g.drawString( - title.concat(" - ") - .concat(MessageManager - .getString("label.server_error_try_later")), - 60, 30); - - break; - } - if (image != null) { int x = image.getWidth(this) / 2, y = image.getHeight(this) / 2; - g.rotate(Math.toRadians(angle), 10 + x, 10 + y); - g.drawImage(image, 10, 10, this); - g.rotate(-Math.toRadians(angle), 10 + x, 10 + y); + g.rotate(Math.toRadians(angle), x, y); + g.drawImage(image, 0, 0, this); + g.rotate(-Math.toRadians(angle), x, y); } } - public void paintComponent(Graphics g1) + @Override + public void paintComponent(Graphics g1) { drawPanel(); @@ -880,7 +868,8 @@ public class WebserviceInfo extends GWebserviceInfo renderAsHtml = b; } - public void hyperlinkUpdate(HyperlinkEvent e) + @Override +public void hyperlinkUpdate(HyperlinkEvent e) { Desktop.hyperlinkUpdate(e); } diff --git a/src/jalview/jbgui/GWebserviceInfo.java b/src/jalview/jbgui/GWebserviceInfo.java index ba84411..cddbb3b 100755 --- a/src/jalview/jbgui/GWebserviceInfo.java +++ b/src/jalview/jbgui/GWebserviceInfo.java @@ -25,6 +25,7 @@ import jalview.util.MessageManager; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; @@ -61,6 +62,8 @@ public class GWebserviceInfo extends JPanel protected JPanel buttonPanel = new JPanel(); + public JLabel titleText = new JLabel(); + public JButton cancel = new JButton(); public JButton showResultsNewFrame = new JButton(); @@ -95,7 +98,7 @@ public class GWebserviceInfo extends JPanel */ private void jbInit() throws Exception { - infoText.setFont(new java.awt.Font("Verdana", 0, 10)); + infoText.setFont(new Font("Verdana", 0, 10)); infoText.setBorder(null); infoText.setEditable(false); infoText.setText(""); @@ -106,13 +109,17 @@ public class GWebserviceInfo extends JPanel titlePanel.setBackground(Color.white); titlePanel.setPreferredSize(new Dimension(0, 60)); titlePanel.setLayout(borderLayout3); + titleText.setFont(new Font("Arial", Font.BOLD, 12)); + titleText.setBorder(null); + titleText.setText(""); jScrollPane1.setBorder(null); jScrollPane1.setPreferredSize(new Dimension(400, 70)); - cancel.setFont(new java.awt.Font("Verdana", 0, 11)); + cancel.setFont(new Font("Verdana", 0, 11)); cancel.setText(MessageManager.getString("action.cancel")); cancel.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(ActionEvent e) + @Override + public void actionPerformed(ActionEvent e) { cancel_actionPerformed(e); }