From dc73fc92beb580b0e07a7cc75c440261619f5298 Mon Sep 17 00:00:00 2001 From: Skylot Date: Mon, 28 Feb 2022 18:32:39 +0000 Subject: [PATCH] fix(gui): don't use hardcoded color for link component (#1398) --- .../src/main/java/jadx/gui/utils/Link.java | 47 +++++-------------- 1 file changed, 13 insertions(+), 34 deletions(-) diff --git a/jadx-gui/src/main/java/jadx/gui/utils/Link.java b/jadx-gui/src/main/java/jadx/gui/utils/Link.java index c0fdeb87c..a2c3dc5dc 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/Link.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/Link.java @@ -1,10 +1,9 @@ package jadx.gui.utils; -import java.awt.Color; import java.awt.Cursor; import java.awt.Desktop; +import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; import java.util.Map; import javax.swing.JLabel; @@ -16,7 +15,7 @@ import org.slf4j.LoggerFactory; import static java.awt.Desktop.Action; -public class Link extends JLabel implements MouseListener { +public class Link extends JLabel { private static final long serialVersionUID = 3655322136444908178L; private static final Logger LOG = LoggerFactory.getLogger(Link.class); @@ -26,34 +25,15 @@ public class Link extends JLabel implements MouseListener { public Link(String text, String url) { super(text); this.url = url; - this.setToolTipText("Open " + url + " in your browser"); - this.addMouseListener(this); - this.setForeground(Color.BLUE); - } - - @Override - public void mouseClicked(MouseEvent arg0) { - browse(); - } - - @Override - public void mouseEntered(MouseEvent arg0) { - setCursor(new Cursor(Cursor.HAND_CURSOR)); - } - - @Override - public void mouseExited(MouseEvent arg0) { - setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); - } - - @Override - public void mousePressed(MouseEvent arg0) { - // ignore - } - - @Override - public void mouseReleased(MouseEvent arg0) { - // ignore + setText(text); + setToolTipText("Open " + url + " in your browser"); + setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + this.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + browse(); + } + }); } private void browse() { @@ -69,14 +49,13 @@ public class Link extends JLabel implements MouseListener { } } try { - String os = System.getProperty("os.name").toLowerCase(); - if (os.contains("win")) { + if (SystemInfo.IS_WINDOWS) { new ProcessBuilder() .command(new String[] { "rundll32", "url.dll,FileProtocolHandler", url }) .start(); return; } - if (os.contains("mac")) { + if (SystemInfo.IS_MAC) { new ProcessBuilder() .command(new String[] { "open", url }) .start();