Also update hex color input on focus lost
This commit is contained in:
parent
0153c89ddc
commit
657ce23083
@ -4,6 +4,8 @@ import java.awt.Color;
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.FocusEvent;
|
||||||
|
import java.awt.event.FocusListener;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
@ -221,14 +223,27 @@ public class AppearancePanel extends JPanel implements Invalidatable, Invalidati
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ColorHexActionListener extends ColorActionListener implements ActionListener {
|
private class HexColorListener extends ColorActionListener implements ActionListener, FocusListener {
|
||||||
public ColorHexActionListener(final Object o, final String valueName) {
|
public HexColorListener(final Object o, final String valueName) {
|
||||||
super(o, valueName);
|
super(o, valueName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
JTextField field = (JTextField) e.getSource();
|
updateColorFromHex((JTextField) e.getSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void focusLost(FocusEvent e) {
|
||||||
|
updateColorFromHex((JTextField) e.getSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void focusGained(FocusEvent e) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateColorFromHex(JTextField field) {
|
||||||
String hex = field.getText();
|
String hex = field.getText();
|
||||||
try {
|
try {
|
||||||
ORColor color = ColorConversion.fromHexColor(hex);
|
ORColor color = ColorConversion.fromHexColor(hex);
|
||||||
@ -330,7 +345,9 @@ public class AppearancePanel extends JPanel implements Invalidatable, Invalidati
|
|||||||
});
|
});
|
||||||
|
|
||||||
figureColorButton.addActionListener(new ColorButtonActionListener(c, "Color"));
|
figureColorButton.addActionListener(new ColorButtonActionListener(c, "Color"));
|
||||||
figureColorHexField.addActionListener(new ColorHexActionListener(c, "Color"));
|
HexColorListener colorHexListener = new HexColorListener(c, "Color");
|
||||||
|
figureColorHexField.addActionListener(colorHexListener);
|
||||||
|
figureColorHexField.addFocusListener(colorHexListener);
|
||||||
|
|
||||||
BooleanModel fDefault = new BooleanModel(c.getColor() == null);
|
BooleanModel fDefault = new BooleanModel(c.getColor() == null);
|
||||||
register(fDefault);
|
register(fDefault);
|
||||||
@ -585,7 +602,9 @@ public class AppearancePanel extends JPanel implements Invalidatable, Invalidati
|
|||||||
colorHexField.setText(ColorConversion.toHexColor(builder.getPaint()));
|
colorHexField.setText(ColorConversion.toHexColor(builder.getPaint()));
|
||||||
|
|
||||||
colorButton.addActionListener(new ColorButtonActionListener(builder, "Paint"));
|
colorButton.addActionListener(new ColorButtonActionListener(builder, "Paint"));
|
||||||
colorHexField.addActionListener(new ColorHexActionListener(builder, "Paint"));
|
HexColorListener colorHexListener = new HexColorListener(builder, "Paint");
|
||||||
|
colorHexField.addActionListener(colorHexListener);
|
||||||
|
colorHexField.addFocusListener(colorHexListener);
|
||||||
|
|
||||||
// Texture Header Row
|
// Texture Header Row
|
||||||
panel.add(new StyledLabel(trans.get("AppearanceCfg.lbl.Appearance"),
|
panel.add(new StyledLabel(trans.get("AppearanceCfg.lbl.Appearance"),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user