summaryrefslogtreecommitdiff
path: root/libjava/javax/swing/text/JTextComponent.java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-19 10:55:12 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-19 10:55:12 +0000
commit5728906f2f46a1de0d0e90bdfe38acb6d7600814 (patch)
treebbceff2b3a57d304b3fad36799cebf645405ee04 /libjava/javax/swing/text/JTextComponent.java
parent9caa1b6f5f45464674eaa37b3065d5b4cb592961 (diff)
downloadgcc-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.java26
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();