skill calc: calculate xp on focus lost
This commit is contained in:
@@ -28,12 +28,15 @@ package net.runelite.client.plugins.skillcalculator;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.event.FocusAdapter;
|
||||
import java.awt.event.FocusEvent;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.Box;
|
||||
import javax.swing.JCheckBox;
|
||||
@@ -108,6 +111,12 @@ class SkillCalculator extends JPanel
|
||||
|
||||
uiInput.getUiFieldTargetLevel().addActionListener(e -> onFieldTargetLevelUpdated());
|
||||
uiInput.getUiFieldTargetXP().addActionListener(e -> onFieldTargetXPUpdated());
|
||||
|
||||
// Register focus listeners to calculate xp when exiting a text field
|
||||
uiInput.getUiFieldCurrentLevel().addFocusListener(buildFocusAdapter(e -> onFieldCurrentLevelUpdated()));
|
||||
uiInput.getUiFieldCurrentXP().addFocusListener(buildFocusAdapter(e -> onFieldCurrentXPUpdated()));
|
||||
uiInput.getUiFieldTargetLevel().addFocusListener(buildFocusAdapter(e -> onFieldTargetLevelUpdated()));
|
||||
uiInput.getUiFieldTargetXP().addFocusListener(buildFocusAdapter(e -> onFieldTargetXPUpdated()));
|
||||
}
|
||||
|
||||
void openCalculator(CalculatorType calculatorType)
|
||||
@@ -413,4 +422,15 @@ class SkillCalculator extends JPanel
|
||||
return slot.getAction().getName().toLowerCase().contains(text.toLowerCase());
|
||||
}
|
||||
|
||||
private FocusAdapter buildFocusAdapter(Consumer<FocusEvent> focusLostConsumer)
|
||||
{
|
||||
return new FocusAdapter()
|
||||
{
|
||||
@Override
|
||||
public void focusLost(FocusEvent e)
|
||||
{
|
||||
focusLostConsumer.accept(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user