diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-19 10:55:12 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-19 10:55:12 +0000 |
commit | 5728906f2f46a1de0d0e90bdfe38acb6d7600814 (patch) | |
tree | bbceff2b3a57d304b3fad36799cebf645405ee04 /libjava/javax/swing/text/JTextComponent.java | |
parent | 9caa1b6f5f45464674eaa37b3065d5b4cb592961 (diff) | |
download | gcc-5728906f2f46a1de0d0e90bdfe38acb6d7600814.tar.gz |
2005-04-19 Roman Kennke <roman@kennke.org>
* javax/swing/text/JTextComponent.java
(JTextComponent): Added repaintListener which issues repaint
requests when the underlying document changes.
(setDocument): Adds repaintListener to document when the
document is changed.
* javax/swing/text/DefaultEditorKit.java:
Removed repaint calls on JTextComponent. This is now handled
through a DocumentListener in JTextComponent that repaints
the component when needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/javax/swing/text/JTextComponent.java')
-rw-r--r-- | libjava/javax/swing/text/JTextComponent.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libjava/javax/swing/text/JTextComponent.java b/libjava/javax/swing/text/JTextComponent.java index f3721a82156..fa0040bfd44 100644 --- a/libjava/javax/swing/text/JTextComponent.java +++ b/libjava/javax/swing/text/JTextComponent.java @@ -894,11 +894,30 @@ public abstract class JTextComponent extends JComponent private Insets margin; private boolean dragEnabled; + /** Issues repaint request on document changes. */ + private DocumentListener repaintListener; + /** * Creates a new <code>JTextComponent</code> instance. */ public JTextComponent() { + repaintListener = new DocumentListener() + { + public void changedUpdate(DocumentEvent ev) + { + repaint(); + } + public void insertUpdate(DocumentEvent ev) + { + repaint(); + } + public void removeUpdate(DocumentEvent ev) + { + repaint(); + } + }; + Keymap defkeymap = getKeymap(DEFAULT_KEYMAP); boolean creatingKeymap = false; if (defkeymap == null) @@ -932,6 +951,13 @@ public abstract class JTextComponent extends JComponent { Document oldDoc = doc; doc = newDoc; + + // setup document listener + if (oldDoc != null) + oldDoc.removeDocumentListener(repaintListener); + if (newDoc != null) + newDoc.addDocumentListener(repaintListener); + firePropertyChange("document", oldDoc, newDoc); revalidate(); repaint(); |