diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 5f9133e9fa..79b792fc9a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.hiscore; +import java.awt.event.MouseAdapter; import static net.runelite.http.api.hiscore.HiscoreSkill.*; import com.google.common.base.Strings; import java.awt.BorderLayout; @@ -94,6 +95,8 @@ public class HiscorePanel extends PluginPanel private final ButtonGroup endpointButtonGroup = new ButtonGroup(); private final JTextArea details = new JTextArea(); + private List endpointButtons; + private final HiscoreClient client = new HiscoreClient(); private HiscoreResult result; @@ -217,30 +220,33 @@ public class HiscorePanel extends PluginPanel JPanel endpointPanel = new JPanel(); endpointPanel.setBorder(subPanelBorder); - List endpointButtons = new ArrayList<>(); - + endpointButtons = new ArrayList<>(); for (HiscoreEndpoint endpoint : HiscoreEndpoint.values()) { try { BufferedImage iconImage; - BufferedImage selectedImage; synchronized (ImageIO.class) { iconImage = ImageIO.read(HiscorePanel.class.getResourceAsStream( endpoint.name().toLowerCase() + ".png")); - selectedImage = ImageIO.read(HiscorePanel.class.getResourceAsStream( - endpoint.name().toLowerCase() + "_selected.png")); } JToggleButton button = new JToggleButton(); button.setIcon(new ImageIcon(iconImage)); - button.setSelectedIcon(new ImageIcon(selectedImage)); button.setPreferredSize(new Dimension(24, 24)); button.setBackground(Color.WHITE); button.setFocusPainted(false); button.setActionCommand(endpoint.name()); button.setToolTipText(endpoint.getName() + " Hiscores"); button.addActionListener((e -> executor.execute(this::lookup))); + button.addMouseListener(new MouseAdapter() + { + @Override + public void mouseReleased(MouseEvent e) + { + updateButtons(); + } + }); endpointButtons.add(button); endpointButtonGroup.add(button); endpointPanel.add(button); @@ -252,6 +258,7 @@ public class HiscorePanel extends PluginPanel } endpointButtons.get(0).setSelected(true); + endpointButtons.get(0).setBackground(Color.CYAN); c.gridx = 0; c.gridy = 5; @@ -457,4 +464,21 @@ public class HiscorePanel extends PluginPanel { return lookup.replace('\u00A0', ' '); } + + private void updateButtons() + { + for (JToggleButton button : endpointButtons) + { + Color color; + if (button.isSelected()) + { + color = Color.CYAN; + } + else + { + color = Color.WHITE; + } + button.setBackground(color); + } + } } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_selected.png deleted file mode 100644 index bca0e8dc55..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_selected.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/hardcore_ironman_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/hardcore_ironman_selected.png deleted file mode 100644 index 1cbae387af..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/hardcore_ironman_selected.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ironman_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ironman_selected.png deleted file mode 100644 index 56acded1ba..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ironman_selected.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/normal_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/normal_selected.png deleted file mode 100644 index fbee92c847..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/normal_selected.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman_selected.png deleted file mode 100644 index ae6c4820e1..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman_selected.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ultimate_ironman_selected.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ultimate_ironman_selected.png deleted file mode 100644 index d171215c16..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/ultimate_ironman_selected.png and /dev/null differ