skill calc: calculate xp on focus lost

This commit is contained in:
Zachary Waller
2020-01-10 17:31:54 -08:00
committed by Adam
parent 2681d395fc
commit 5e1932ab5d

View File

@@ -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);
}
};
}
}