diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java index 19683158b4..723d9f697a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java @@ -98,7 +98,7 @@ class GrandExchangeSearchPanel extends JPanel searchBar.setBackground(ColorScheme.DARKER_GRAY_COLOR); searchBar.setHoverBackgroundColor(ColorScheme.DARK_GRAY_HOVER_COLOR); searchBar.addActionListener(e -> executor.execute(() -> priceLookup(false))); - searchBar.addClearListener(e -> updateSearch()); + searchBar.addClearListener(this::updateSearch); searchItemsPanel.setLayout(new GridBagLayout()); searchItemsPanel.setBackground(ColorScheme.DARK_GRAY_COLOR); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java index 30d6979a54..64422ee34c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java @@ -94,7 +94,7 @@ class SkillCalculator extends JPanel searchBar.setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH - 20, 30)); searchBar.setBackground(ColorScheme.DARKER_GRAY_COLOR); searchBar.setHoverBackgroundColor(ColorScheme.DARK_GRAY_HOVER_COLOR); - searchBar.addClearListener(e -> onSearch()); + searchBar.addClearListener(this::onSearch); searchBar.addKeyListener(e -> onSearch()); setLayout(new DynamicGridLayout(0, 1, 0, 5)); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java b/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java index 0266caa450..cb317b8afd 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java @@ -29,7 +29,6 @@ package net.runelite.client.ui.components; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; -import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; @@ -38,6 +37,8 @@ import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.util.ArrayList; +import java.util.List; import java.util.function.Consumer; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; @@ -77,6 +78,8 @@ public class IconTextField extends JPanel @Getter private final DefaultListModel suggestionListModel; + private final List clearListeners = new ArrayList<>(); + public IconTextField() { setLayout(new BorderLayout()); @@ -124,7 +127,15 @@ public class IconTextField extends JPanel clearButton = createRHSButton(ColorScheme.PROGRESS_ERROR_COLOR, Color.PINK); clearButton.setText("×"); - clearButton.addActionListener(evt -> setText(null)); + clearButton.addActionListener(evt -> + { + setText(null); + + for (Runnable l : clearListeners) + { + l.run(); + } + }); suggestionListModel = new DefaultListModel<>(); suggestionListModel.addListDataListener(new ListDataListener() @@ -318,9 +329,9 @@ public class IconTextField extends JPanel textField.addKeyListener(keyListener); } - public void addClearListener(Consumer actionEventConsumer) + public void addClearListener(Runnable clearListener) { - clearButton.addActionListener(actionEventConsumer::accept); + clearListeners.add(clearListener); } public void addKeyListener(Consumer keyEventConsumer)