Problema com listener na barra de rolagem

0 respostas
N

Pessoal, eu to tendo algumas dificuldades com por listener na barra de rolagens. Vejam bem, meu intuito é fazer um overview (tipo o zoom do photoshop: na medida que o usuário arrastar o quadrado vermelho, as barras de rolagem irao se mover). O código ainda não tá pronto, como vcs podem notar. Mas a minha duvida é a seguinte: estou colocando o listerner nas barras horizontal e vertical, só que ele nao responde quando movo uma delas. Pus um teste para imprimir na linha de comando quando mover e nao deu em nada. Alguma coisa esta errada? Alguem tem idéia de como posso fazer para corrigir isso?

Outra dúvida, existe uma maneira mais prática de conseguir o ScrollPane da aplicação, sem tem que pegar de componente em componente [como pode ser observado na linha 7] ?

Grato.

public class OverRectangle extends RectangleFigure implements AdjustmentListener {
	
	public OverRectangle(double x, double y, double width, double height) {
		super(x, y, width, height);
		initialize();
                //scrollpane da aplicação
		JScrollPane scroll = (JScrollPane)((JPanel)((JPanel)((JLayeredPane)((JRootPane)((JFrame)iTAOSApplication.getInstance().getFrame()).getComponent(0)).getComponent(1)).getComponent(0)).getComponent(0)).getComponent(0);
		scroll.getHorizontalScrollBar().addAdjustmentListener(this);
		scroll.getVerticalScrollBar().addAdjustmentListener(this);
		
	}
	
	public void initialize() {
		setAttribute(AttributeKeys.STROKE_COLOR, new Color(0xFF0000));
		setAttribute(AttributeKeys.STROKE_WIDTH, new Double(5));
		setAttribute(AttributeKeys.FILL_COLOR, new Color(0x000000, true));
	}

	@Override
	public void adjustmentValueChanged(AdjustmentEvent e) {
		System.out.println("moveu");
	}
}
Criado 12 de fevereiro de 2008
Respostas 0
Participantes 1