Index: javax/swing/plaf/basic/BasicTextUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTextUI.java,v retrieving revision 1.39 diff -u -r1.39 BasicTextUI.java --- javax/swing/plaf/basic/BasicTextUI.java 19 Sep 2005 14:17:09 -0000 1.39 +++ javax/swing/plaf/basic/BasicTextUI.java 20 Sep 2005 17:58:09 -0000 @@ -74,7 +74,6 @@ import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; import javax.swing.text.Keymap; -import javax.swing.text.PlainView; import javax.swing.text.Position; import javax.swing.text.View; import javax.swing.text.ViewFactory; @@ -333,7 +332,7 @@ /** * Receives notifications when properties of the text component change. */ - class UpdateHandler implements PropertyChangeListener + class PropertyChangeHandler implements PropertyChangeListener { /** * Notifies when a property of the text component changes. @@ -347,13 +346,8 @@ // Document changed. modelChanged(); } - else if (event.getPropertyName().equals("editable")) - { - if (textComponent.isEditable()) - textComponent.setBackground(background); - else - textComponent.setBackground(inactiveBackground); - } + + BasicTextUI.this.propertyChange(event); } } @@ -376,7 +370,7 @@ rootView.changedUpdate(ev, new Rectangle(0, 0, size.width, size.height), rootView.getViewFactory()); } - + /** * Notification about a document insert event. * @@ -427,7 +421,7 @@ /** * Receives notification when the model changes. */ - UpdateHandler updateHandler = new UpdateHandler(); + PropertyChangeHandler updateHandler = new PropertyChangeHandler(); /** The DocumentEvent handler. */ DocumentHandler documentHandler = new DocumentHandler(); @@ -1069,5 +1063,18 @@ return; View view = factory.create(elem); setView(view); + } + + /** + * Receives notification whenever one of the text component's bound + * properties changes. This default implementation does nothing. + * It is a hook that enables subclasses to react to property changes + * on the text component. + * + * @param ev the property change event + */ + protected void propertyChange(PropertyChangeEvent ev) + { + // The default implementation does nothing. } } Index: javax/swing/plaf/basic/BasicTextFieldUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTextFieldUI.java,v retrieving revision 1.4 diff -u -r1.4 BasicTextFieldUI.java --- javax/swing/plaf/basic/BasicTextFieldUI.java 14 Sep 2005 07:58:07 -0000 1.4 +++ javax/swing/plaf/basic/BasicTextFieldUI.java 20 Sep 2005 17:58:09 -0000 @@ -79,8 +79,21 @@ super.installUI(c); } + /** + * Receives notification whenever one of the text component's bound + * properties changes. Here we check for the editable and enabled + * properties and adjust the background color accordingly. + * + * @param event the property change event + */ protected void propertyChange(PropertyChangeEvent event) { - // Does nothing by default. + if (event.getPropertyName().equals("editable")) + { + if (textComponent.isEditable()) + textComponent.setBackground(background); + else + textComponent.setBackground(inactiveBackground); + } } }