View Javadoc

1   /*
2   * The contents of this file are subject to the BT "ZEUS" Open Source 
3   * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
4   * except in compliance with the Licence. You may obtain a copy of the Licence
5   * from $ZEUS_INSTALL/licence.html or alternatively from
6   * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7   * 
8   * Except as stated in Clause 7 of the Licence, software distributed under the
9   * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
10  * implied. See the Licence for the specific language governing rights and 
11  * limitations under the Licence.
12  * 
13  * The Original Code is within the package zeus.*.
14  * The Initial Developer of the Original Code is British Telecommunications
15  * public limited company, whose registered office is at 81 Newgate Street, 
16  * London, EC1A 7AJ, England. Portions created by British Telecommunications 
17  * public limited company are Copyright 1996-9. All Rights Reserved.
18  * 
19  * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20  */
21  
22  
23  
24  package zeus.gui.graph;
25  
26  import java.awt.*;
27  import java.awt.event.*;
28  import javax.swing.*;
29  import javax.swing.event.*;
30  
31  public class DefaultGraphNodeEditor extends AbstractGraphNodeEditor {
32     protected JTextField field = null;
33  
34     public DefaultGraphNodeEditor() {
35        field = new JTextField(20);
36        field.setBackground(Color.green);
37        field.setOpaque(true);
38        field.setSize(100,25);
39        field.setMinimumSize(new Dimension(100,25));
40  
41        SymAction listener = new SymAction();
42        field.addActionListener(listener);
43        field.addFocusListener(listener);
44     }
45  
46     public Component getNodeEditorComponent(Graph graph, GraphNode node) {
47        this.graph = graph;
48        this.node = node;
49        field.setText(node.getUserObject().toString());
50        return field;
51     }
52     private class SymAction implements ActionListener, FocusListener {
53        public void actionPerformed(ActionEvent e) {
54           if ( e.getSource() == field ) {
55              fireEditAction(EDITING_STOPPED,node,field.getText());
56           }
57        }
58        public void focusGained(FocusEvent e) {
59        }
60        public void focusLost(FocusEvent e) {
61           if ( e.getSource() == field ) {
62              fireEditAction(EDITING_STOPPED,node,field.getText());
63           }
64        }
65     }
66  }