src/macosx/classes/sun/lwawt/LWTextAreaPeer.java

Print this page




 112     @Override
 113     public void insert(final String text, final int pos) {
 114         final ScrollableJTextArea pane = getDelegate();
 115         synchronized (getDelegateLock()) {
 116             final JTextArea area = pane.getView();
 117             final boolean doScroll = pos >= area.getDocument().getLength()
 118                                      && area.getDocument().getLength() != 0;
 119             area.insert(text, pos);
 120             revalidate();
 121             if (doScroll) {
 122                 final JScrollBar vbar = pane.getVerticalScrollBar();
 123                 if (vbar != null) {
 124                     vbar.setValue(vbar.getMaximum() - vbar.getVisibleAmount());
 125                 }
 126             }
 127         }
 128         repaintPeer();
 129     }
 130 
 131     @Override
 132     public void setText(final String l) {
 133         // Please note that we do not want to post an event
 134         // if TextArea.setText() replaces an empty text by an empty text,
 135         // that is, if component's text remains unchanged.
 136         if (!l.isEmpty() || getTextComponent().getDocument().getLength() != 0) {
 137             super.setText(l);
 138         }
 139     }
 140 
 141     @Override
 142     public void replaceRange(final String text, final int start,
 143                              final int end) {
 144         synchronized (getDelegateLock()) {
 145             // JTextArea.replaceRange() posts two different events.
 146             // Since we make no differences between text events,
 147             // the document listener has to be disabled while
 148             // JTextArea.replaceRange() is called.
 149             final Document document = getTextComponent().getDocument();
 150             document.removeDocumentListener(this);
 151             getDelegate().getView().replaceRange(text, start, end);
 152             revalidate();
 153             postEvent(new TextEvent(getTarget(), TextEvent.TEXT_VALUE_CHANGED));
 154             document.addDocumentListener(this);
 155         }
 156         repaintPeer();
 157     }
 158 
 159     private void setScrollBarVisibility(final int visibility) {
 160         final ScrollableJTextArea pane = getDelegate();
 161         final JTextArea view = pane.getView();




 112     @Override
 113     public void insert(final String text, final int pos) {
 114         final ScrollableJTextArea pane = getDelegate();
 115         synchronized (getDelegateLock()) {
 116             final JTextArea area = pane.getView();
 117             final boolean doScroll = pos >= area.getDocument().getLength()
 118                                      && area.getDocument().getLength() != 0;
 119             area.insert(text, pos);
 120             revalidate();
 121             if (doScroll) {
 122                 final JScrollBar vbar = pane.getVerticalScrollBar();
 123                 if (vbar != null) {
 124                     vbar.setValue(vbar.getMaximum() - vbar.getVisibleAmount());
 125                 }
 126             }
 127         }
 128         repaintPeer();
 129     }
 130 
 131     @Override










 132     public void replaceRange(final String text, final int start,
 133                              final int end) {
 134         synchronized (getDelegateLock()) {
 135             // JTextArea.replaceRange() posts two different events.
 136             // Since we make no differences between text events,
 137             // the document listener has to be disabled while
 138             // JTextArea.replaceRange() is called.
 139             final Document document = getTextComponent().getDocument();
 140             document.removeDocumentListener(this);
 141             getDelegate().getView().replaceRange(text, start, end);
 142             revalidate();
 143             postEvent(new TextEvent(getTarget(), TextEvent.TEXT_VALUE_CHANGED));
 144             document.addDocumentListener(this);
 145         }
 146         repaintPeer();
 147     }
 148 
 149     private void setScrollBarVisibility(final int visibility) {
 150         final ScrollableJTextArea pane = getDelegate();
 151         final JTextArea view = pane.getView();