Redimensionamento de JPanel dentro de JScrollPane

Olá… estou voltando aos meus velhos projetos de Java2D e tenho um JPanel que funciona como uma tela para se desenhar e fica dentro de um JScrollPane.

O caso é que não quero limitar o tamanho. Até agora eu havia deixado os atributos minimum/maximum/preferred/size iguais… mas agora só vou deixar o minimum setado e quero aumenta-lo e com isso o JScrollPane deve modificar as ScrollBars…

O que eu tentei é pegar o getSize() e setar o novo com o valor do velho + 100 nas duas propriedades (height e width).

Queria saber como é possivel obter esse resultado.

Se for necessario eu coloco código ou mais informações.

Obrigado.

Quem controla o tamanho do ScrollPane é a propriedade PreferredSize. Você pode simplesmente trocar esse atributo e o JPanel mesmo se encarrega de atualizar as scrolls.

Agora, se vc está implementando um panel “no braço” para algum jogo (ou algo parecido), e precisa de um controle realmetne fino do que será redesenhado, dê uma olhada na interface Scrollable e nesse texto aqui:
http://java.sun.com/docs/books/tutorial/uiswing/components/scrollpane.html

Isso é apenas para o MapBuilder… acho não é necessario implementar tudo do Scroll.

Vou postar aqui as partes que acho necessario.

EditPanel

        public EditPanel() throws FileNotFoundException {
		setMinimumSize(new Dimension(ViewMap.MAP_COLS * ViewMap.TILE_SIZE,
				ViewMap.MAP_ROWS * ViewMap.TILE_SIZE));
		setPreferredSize(getMinimumSize());
        }

	protected void enlarge() {
		Dimension d = getPreferredSize();
		setPreferredSize(new Dimension(d.width + 100, d.height + 100));
	}

O construtor(parte dele) e o método para crescer.
meu jscrollpane esta com tamanho maximo de ViewMap.MAP_COLS * ViewMap.TILE_SIZE,
ViewMap.MAP_ROWS * ViewMap.TILE_SIZE

O método enlarge é chamado, e com System.out.println vi que a Dimension esta mudando. Mas o JScrollPane não atualiza as JScrollBars que continuam do mesmo tamanho.

PS:ViniGodoy, quando eu tiver algo interessante eu gostaria que voce analizasse o código do jogo. Ou voce está muito ocupado?

A partir de quinta estarei de férias… 8)

Pode mandar o código do jogo no meu e-mail.