KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jimm > datavision > gui > cmd > NewTextFieldCommand


1 package jimm.datavision.gui.cmd;
2 import jimm.datavision.Point;
3 import jimm.datavision.field.Field;
4 import jimm.datavision.field.Rectangle;
5 import jimm.datavision.gui.SectionWidget;
6 import jimm.datavision.gui.SectionFieldPanel;
7 import jimm.datavision.gui.FieldWidget;
8 import jimm.datavision.gui.TextFieldWidget;
9 import java.awt.event.MouseEvent JavaDoc;
10 import java.awt.Component JavaDoc;
11
12 /**
13  * Inserts a new text field.
14  *
15  * @author Jim Menard, <a HREF="mailto:jimm@io.com">jimm@io.com</a>
16  */

17 public class NewTextFieldCommand extends InsertFieldCommand {
18
19 public NewTextFieldCommand(SectionWidget sw, MouseEvent JavaDoc e) {
20     super(sw, "text", new Point(e.getPoint()));
21
22     // Translate insertLoc's mouse coordinates to SectionFieldPanel
23
// coordinates.
24
Component JavaDoc c = e.getComponent();
25     while (!(c instanceof SectionFieldPanel)) {
26     java.awt.Rectangle JavaDoc bounds = c.getBounds();
27     insertLoc.translate(bounds.x, bounds.y);
28     c = c.getParent();
29     if (c == null) // Should never happen
30
break;
31     }
32 }
33
34 public void perform() {
35     super.perform();
36     ((TextFieldWidget)fw).startEditing(); // Selects the widget, too
37
}
38
39 protected Rectangle initialFieldBounds() {
40     return new Rectangle(insertLoc.getX(),
41              insertLoc.getY() - (int)(Field.DEFAULT_HEIGHT / 2),
42              (double)Field.DEFAULT_WIDTH,
43              (double)Field.DEFAULT_HEIGHT);
44 }
45
46 protected Object JavaDoc initialFieldValue() {
47     return "";
48 }
49
50 protected FieldWidget createFieldWidget(Field f) {
51     return new TextFieldWidget(null, f);
52 }
53
54 }
55
Popular Tags