fix(gui): don't use hardcoded color for link component (#1398)

This commit is contained in:
Skylot 2022-02-28 18:32:39 +00:00
parent 592215db66
commit dc73fc92be
No known key found for this signature in database
GPG Key ID: 1E23F5B52567AA39

View File

@ -1,10 +1,9 @@
package jadx.gui.utils; package jadx.gui.utils;
import java.awt.Color;
import java.awt.Cursor; import java.awt.Cursor;
import java.awt.Desktop; import java.awt.Desktop;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Map; import java.util.Map;
import javax.swing.JLabel; import javax.swing.JLabel;
@ -16,7 +15,7 @@ import org.slf4j.LoggerFactory;
import static java.awt.Desktop.Action; 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 long serialVersionUID = 3655322136444908178L;
private static final Logger LOG = LoggerFactory.getLogger(Link.class); 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) { public Link(String text, String url) {
super(text); super(text);
this.url = url; this.url = url;
this.setToolTipText("Open " + url + " in your browser"); setText(text);
this.addMouseListener(this); setToolTipText("Open " + url + " in your browser");
this.setForeground(Color.BLUE); setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
} this.addMouseListener(new MouseAdapter() {
@Override @Override
public void mouseClicked(MouseEvent arg0) { public void mouseClicked(MouseEvent e) {
browse(); 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
} }
private void browse() { private void browse() {
@ -69,14 +49,13 @@ public class Link extends JLabel implements MouseListener {
} }
} }
try { try {
String os = System.getProperty("os.name").toLowerCase(); if (SystemInfo.IS_WINDOWS) {
if (os.contains("win")) {
new ProcessBuilder() new ProcessBuilder()
.command(new String[] { "rundll32", "url.dll,FileProtocolHandler", url }) .command(new String[] { "rundll32", "url.dll,FileProtocolHandler", url })
.start(); .start();
return; return;
} }
if (os.contains("mac")) { if (SystemInfo.IS_MAC) {
new ProcessBuilder() new ProcessBuilder()
.command(new String[] { "open", url }) .command(new String[] { "open", url })
.start(); .start();