create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / gui / TextFieldListener.java
1 package net.sf.openrocket.gui;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 import java.awt.event.FocusEvent;
6 import java.awt.event.FocusListener;
7
8 import javax.swing.JTextField;
9
10 public abstract class TextFieldListener implements ActionListener, FocusListener {
11         private JTextField field;
12                 
13         public void listenTo(JTextField newField) {
14                 if (field != null) {
15                         field.removeActionListener(this);
16                         field.removeFocusListener(this);
17                 }
18                 field = newField;
19                 if (field != null) {
20                         field.addActionListener(this);
21                         field.addFocusListener(this);
22                 }
23         }
24
25         public abstract void setText(String text);
26
27         public void actionPerformed(ActionEvent e) {
28                 setText(field.getText());
29         }
30         public void focusGained(FocusEvent e) { }
31         public void focusLost(FocusEvent e) {
32                 setText(field.getText());
33         }
34         
35 }