mirror of git://gcc.gnu.org/git/gcc.git
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. From-SVN: r98403
This commit is contained in:
parent
6384325b3a
commit
9092932bf8
|
@ -1,3 +1,15 @@
|
|||
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.
|
||||
|
||||
2005-04-19 Roman Kennke <roman@kennke.org>
|
||||
|
||||
PR libgcj/21064
|
||||
|
|
|
@ -110,7 +110,6 @@ public class DefaultEditorKit extends EditorKit
|
|||
t.getDocument().insertString(t.getCaret().getDot(), event.getActionCommand(), null);
|
||||
t.getCaret().setDot(Math.min(t.getCaret().getDot() + 1,
|
||||
t.getDocument().getEndPosition().getOffset()));
|
||||
t.repaint();
|
||||
}
|
||||
catch (BadLocationException be)
|
||||
{
|
||||
|
@ -251,7 +250,6 @@ public class DefaultEditorKit extends EditorKit
|
|||
if (pos < t.getDocument().getEndPosition().getOffset())
|
||||
{
|
||||
t.getDocument().remove(t.getCaret().getDot(), 1);
|
||||
t.repaint();
|
||||
}
|
||||
}
|
||||
catch (BadLocationException e)
|
||||
|
@ -275,7 +273,6 @@ public class DefaultEditorKit extends EditorKit
|
|||
{
|
||||
t.getDocument().remove(pos - 1, 1);
|
||||
t.getCaret().setDot(pos - 1);
|
||||
t.repaint();
|
||||
}
|
||||
}
|
||||
catch (BadLocationException e)
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue