Synchrone ScrollPane trennen

Bluedaishi

Bekanntes Mitglied
Hallo ,

ich habe folgendes

zwei scrollpanes die synchron laufen wenn beide TextAreas mit text gefüllt sind
wenn ich beide wieder leere sollen sie wieder getrennt laufen
kann mir da jemand weiterhelfen.

Java:
jTextArea1 = new javax.swing.JTextArea();

jTextArea1.setEditable(false);

jTextArea1.setColumns(20);

jTextArea1.setFont(new java.awt.Font("Monospaced", 0, 11)); // NOI18N

jTextArea1.setRows(5);

jScrollPane1.setViewportView(jTextArea1);
jTextArea1.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void removeUpdate(DocumentEvent e) {
        System.out.println("TEST removeUpdate");

        }

        @Override
        public void insertUpdate(DocumentEvent e) {
        System.out.println("TEST insertUpdate");
        jScrollPane2.getVerticalScrollBar().setModel(jScrollPane1.getVerticalScrollBar().getModel());
        }

        @Override
        public void changedUpdate(DocumentEvent arg0) {
        System.out.println("TEST changedUpdate");
        }
    });

vielen dank ich hoffe mir kann geholfen werden🙂
 
probiers damit:
Java:
if(jtextarea.getText().equals(""))
  //tue nichts, dann ist es nämlich asynchron
 
Zuletzt bearbeitet:
Hallo Tucan

ich hab es probiert es funktioniert leider nicht

Java:
jTextArea2.setEditable(false);
jTextArea2.setColumns(20);
jTextArea2.setFont(new java.awt.Font("Monospaced", 0, 11));
jTextArea2.setRows(5);
jScrollPane2.setViewportView(jTextArea2);
jTextArea2.getDocument().addDocumentListener(new DocumentListener() {

   
        @Override
        public void removeUpdate(DocumentEvent e) {
        System.out.println("TEST removeUpdate");
        
             if(jTextArea1.getText().equals("")){

            }
           

        }

        @Override
        public void insertUpdate(DocumentEvent e) {
        System.out.println("TEST insertUpdate");
    
        jScrollPane2.getVerticalScrollBar().setModel(jScrollPane1.getVerticalScrollBar().getModel());

}

        @Override
        public void changedUpdate(DocumentEvent arg0) {
        System.out.println("TEST changedUpdate");
        
         

        
    }
});
 
Zuletzt bearbeitet:

Zurück
Oben