KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > memoire > vainstall > builder > gui > RequiredTextField


1 /*
2  * $RCSfile: RequiredTextField.java,v $
3  * @modification $Date: 2001/09/28 19:35:30 $
4  * @version $Id: RequiredTextField.java,v 1.1 2001/09/28 19:35:30 hfalk Exp $
5  *
6  */

7
8 package com.memoire.vainstall.builder.gui;
9
10 import com.memoire.vainstall.builder.VAIProductModel;
11
12 import java.awt.Color JavaDoc;
13
14 import javax.swing.BorderFactory JavaDoc;
15 import javax.swing.JTextField JavaDoc;
16 import javax.swing.border.Border JavaDoc;
17 import javax.swing.event.DocumentEvent JavaDoc;
18 import javax.swing.event.DocumentListener JavaDoc;
19
20 /**
21  *
22  *
23  * @see
24  *
25  * @author Henrik Falk
26  * @version $Id: RequiredTextField.java,v 1.1 2001/09/28 19:35:30 hfalk Exp $
27  */

28 public class RequiredTextField extends JTextField JavaDoc implements DocumentListener JavaDoc {
29
30     private VAIProductModel productModel;
31     private String JavaDoc requirementName;
32
33     private Border JavaDoc oldBorder;
34
35     private Border JavaDoc greenBorder = BorderFactory.createMatteBorder(1, 1, 1, 1, Color.green);
36     private Border JavaDoc redBorder = BorderFactory.createMatteBorder(1, 1, 1, 1, Color.red);
37
38     private boolean hasChanged = false;
39
40     public RequiredTextField() {
41
42         oldBorder = getBorder();
43
44         setBorder(redBorder);
45
46         getDocument().addDocumentListener(this);
47
48     }
49
50     /**
51      * initialize the textfield
52      */

53     public void initialize(VAIProductModel model, String JavaDoc requirementName) {
54         this.productModel = model;
55         this.requirementName = requirementName;
56     }
57
58     public void changedUpdate(DocumentEvent JavaDoc e) {
59     }
60
61     public void insertUpdate(DocumentEvent JavaDoc e) {
62
63         if (productModel == null) {
64             return;
65         }
66
67         if (getText().length() > 0) {
68             productModel.removeRequirement(requirementName);
69             setBorder(greenBorder);
70         } else {
71             productModel.addRequirement(requirementName);
72             setBorder(redBorder);
73         }
74         hasChanged = true;
75     }
76
77     public void removeUpdate(DocumentEvent JavaDoc e) {
78
79         if (productModel == null) {
80             return;
81         }
82
83         if (getText().length() > 0) {
84             productModel.removeRequirement(requirementName);
85             setBorder(greenBorder);
86         } else {
87             productModel.addRequirement(requirementName);
88             setBorder(redBorder);
89         }
90         hasChanged = true;
91     }
92
93     public boolean hasChanged() {
94         return hasChanged;
95     }
96
97     public void setChanged(boolean change) {
98         hasChanged = change;
99     }
100 }
101
Popular Tags