diff options
| author | 2020-04-22 20:50:50 +0200 | |
|---|---|---|
| committer | 2020-06-03 23:55:56 +0200 | |
| commit | 8dcba3b6b98936791d3d35146e819da8b97fd78a (patch) | |
| tree | 81730322aa9c27abe2cf7b851c5103907f3e8974 /enigma-swing/src/main/java | |
| parent | Improve connect dialog (diff) | |
| download | enigma-8dcba3b6b98936791d3d35146e819da8b97fd78a.tar.gz enigma-8dcba3b6b98936791d3d35146e819da8b97fd78a.tar.xz enigma-8dcba3b6b98936791d3d35146e819da8b97fd78a.zip | |
Prepare for allowing error messages in VerifiableTextField
Diffstat (limited to 'enigma-swing/src/main/java')
| -rw-r--r-- | enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ConnectToServerDialog.java | 4 | ||||
| -rw-r--r-- | enigma-swing/src/main/java/cuchaz/enigma/gui/elements/VerifiableTextField.java | 32 |
2 files changed, 29 insertions, 7 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ConnectToServerDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ConnectToServerDialog.java index 070d03d4..4bac97b6 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ConnectToServerDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/ConnectToServerDialog.java | |||
| @@ -89,10 +89,10 @@ public class ConnectToServerDialog extends JDialog { | |||
| 89 | 89 | ||
| 90 | public boolean validateInputs() { | 90 | public boolean validateInputs() { |
| 91 | boolean error = false; | 91 | boolean error = false; |
| 92 | ipField.setErrorState(false); | 92 | ipField.clearErrorState(); |
| 93 | 93 | ||
| 94 | if (ServerAddress.from(ipField.getText(), EnigmaServer.DEFAULT_PORT) == null) { | 94 | if (ServerAddress.from(ipField.getText(), EnigmaServer.DEFAULT_PORT) == null) { |
| 95 | ipField.setErrorState(true); | 95 | ipField.addError("Invalid IP/Port combination"); |
| 96 | error = true; | 96 | error = true; |
| 97 | } | 97 | } |
| 98 | 98 | ||
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/VerifiableTextField.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/VerifiableTextField.java index 41a24840..928372c3 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/VerifiableTextField.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/VerifiableTextField.java | |||
| @@ -6,6 +6,8 @@ import java.awt.event.FocusAdapter; | |||
| 6 | import java.awt.event.FocusEvent; | 6 | import java.awt.event.FocusEvent; |
| 7 | 7 | ||
| 8 | import javax.swing.JTextField; | 8 | import javax.swing.JTextField; |
| 9 | import javax.swing.event.DocumentEvent; | ||
| 10 | import javax.swing.event.DocumentListener; | ||
| 9 | import javax.swing.text.Document; | 11 | import javax.swing.text.Document; |
| 10 | 12 | ||
| 11 | public class VerifiableTextField extends JTextField { | 13 | public class VerifiableTextField extends JTextField { |
| @@ -32,16 +34,36 @@ public class VerifiableTextField extends JTextField { | |||
| 32 | } | 34 | } |
| 33 | 35 | ||
| 34 | { | 36 | { |
| 35 | addFocusListener(new FocusAdapter() { | 37 | getDocument().addDocumentListener(new DocumentListener() { |
| 36 | @Override | 38 | @Override |
| 37 | public void focusGained(FocusEvent e) { | 39 | public void insertUpdate(DocumentEvent e) { |
| 38 | setErrorState(false); | 40 | clearErrorState(); |
| 41 | } | ||
| 42 | |||
| 43 | @Override | ||
| 44 | public void removeUpdate(DocumentEvent e) { | ||
| 45 | clearErrorState(); | ||
| 46 | } | ||
| 47 | |||
| 48 | @Override | ||
| 49 | public void changedUpdate(DocumentEvent e) { | ||
| 50 | clearErrorState(); | ||
| 39 | } | 51 | } |
| 40 | }); | 52 | }); |
| 41 | } | 53 | } |
| 42 | 54 | ||
| 43 | public void setErrorState(boolean b) { | 55 | @Override |
| 44 | this.hasError = b; | 56 | public void setText(String t) { |
| 57 | super.setText(t); | ||
| 58 | } | ||
| 59 | |||
| 60 | public void clearErrorState() { | ||
| 61 | this.hasError = false; | ||
| 62 | repaint(); | ||
| 63 | } | ||
| 64 | |||
| 65 | public void addError(String message) { | ||
| 66 | this.hasError = true; | ||
| 45 | repaint(); | 67 | repaint(); |
| 46 | } | 68 | } |
| 47 | 69 | ||