Dois JScrollPanes

1 resposta
guscoppi

Ola…
estou fazendo uma aplicação que trabalhará com dois JScrollPanes simultaneamente.
o texto em ambos os Panes será o mesmo… ou sejá… ambos terão a mesma dimensão…
estava eu tentando achar uma maneira de fazer com que sempre que o usuário rolasse a barra de um pane… a de outro rolasse automaticamente a mesma quantidade.

há como?

Valeu…

1 Resposta

D

Acho q esse exemplo deve ajudar, qualquer coisa Grita!

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Scroller extends JFrame{
  JTextArea area1= new JTextArea();
  JTextArea area2= new JTextArea();

  JScrollPane scroller1= new JScrollPane(area1);
  JScrollPane scroller2= new JScrollPane(area2);

  public Scroller(){
    setBounds(100,100,200,200);
    Container cp= getContentPane();

    area1.setText("linha 1\nlinha 2\nlinha 3\nlinha 4\nlinha 5\nlinha 6" +
        "linha 7\nlinha 8\nlinha 9\nlinha 10\nlinha 11\nlinha 12");
    area2.setText("linha 1\nlinha 2\nlinha 3\nlinha 4\nlinha 5\nlinha 6" +
        "linha 7\nlinha 8\nlinha 9\nlinha 10\nlinha 11\nlinha 12");

    scroller1.setPreferredSize(new Dimension(10,50));
    scroller2.setPreferredSize(new Dimension(10,50));

    scroller1.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
      public void adjustmentValueChanged(AdjustmentEvent arg0) {
        Point ponto=scroller1.getViewport().getViewPosition();
        scroller2.getViewport().setViewPosition(ponto);
      }
    });

    cp.add(scroller1,BorderLayout.NORTH);
    cp.add(scroller2,BorderLayout.SOUTH);
  }

  public static void main(String args[]){
    JFrame app= new Scroller();

    app.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0);
      }
    });
    app.show();
  }
}

se n consequir avisa!

Criado 10 de junho de 2003
Ultima resposta 14 de jun. de 2003
Respostas 1
Participantes 2