Divisor do JSplitPane proporcional à Altura ao redimensionar. Como?

1 resposta
rock-skull

Olá.

Eu tenho um JFrame e eu estou usando um JSplitPane pra dividir a tela (Dividir na Vertical, fazendo tipo uma output windows do netbeans). Quero fazer o seguinte, o usuario vai lá e define um tamanho dessa janela arrastando o divisor do JSplitPane, queria pegar essa valor e manter essa proporção mesmo que ele resimensione a tela.

O JSplitPane tem um método chamado setDivisorLocation(double d), onde esse double é a percentagem que representa a localização do Panel.

Eu já fiz alguns testes com alguns eventos, tipo, pegar esse valor e setar de novo quando redimensionar, ou quando o componente for movido, entre outros. Mas nenhum funcionou do jeito que eu queria.

Ah… pra achar a percentagem eu dividi a localização pela altura. Funcionou mais ou menos, mas ainda tem alguns problemas.

Alguém tem uma idéia, ou conhece um evento que é disparado quando a gente mexe o divisor do JSplitPane ?

1 Resposta

rock-skull

Ah, esqueci:

DecimalFormat percFormat = new DecimalFormat( "0.00" );
        percOutput = (double) wMainRight.getDividerLocation() /
                (double) wMainRight.getHeight();
        System.out.println("Percentagem = " + percFormat.format(percOutput) + "\n");
        wMainRight.setDividerLocation(percOutput);

Coloquei esse código quando o no ComponentMoved. Ele vai se redimensionando até chegar no topo. Funcionou mais ou menos quando eu capturei o percOutput nesse evento, e o resto, setar a localização do divisor, no formResized do Jframe.

Criado 3 de dezembro de 2010
Ultima resposta 3 de dez. de 2010
Respostas 1
Participantes 1