JScrollPane + setLayout(null): É possível?

5 respostas
Zero_Zero_Flag

Olá pessoal, estou engatinhando em Java e estou iniciando no GuJ.

Seguinte, minha aplicação baseia-se em abrir uma imagem (“grande” ou não), em um JScrollPane.
Estou utilizando layout nulo (sim, é gambiarra, mas é mais rápido).
Acontece que algumas bizarrices acontecem, quando utilizo setPreferredSize(), setSize() ou getPreferredSize(). Quando a rolagem funciona normalmente, a imagem não carrega total, ou entao as barras nao funcionam, e só se dimensionam quando eu maximizo ou minimizo a janela de frame. :!:

Gostaria de saber se alguém consegue contornar esses problemas devido a falta de um gerenciador de layout, quando utilizamos JScrollPane ou qualquer rolagem semelhante.

Abraços

5 Respostas

Pilantra

Você ta carregando essa imagem em um JLabel ou Canvas?

Se estiver usando Canvas, se você usar o JLabel acho que resolve o problema.

Zero_Zero_Flag

Na verdade em um JPanel…

Pilantra

Hum, eu já fiz um visualizador de imagens e dentro do JPanel eu coloquei um JLabel, adicionei no FlowLayout mesmo. Não é dificil colocar, é usar o método setLayout do JPanel e depois dentro do Flow eu coloquei um JLabel, nunca tive problemas com o scroll.

Zero_Zero_Flag

Pois eh cara, o problema eh que a aplicaçao tem alguns componentes que eu queria que ficassem em um lugar especifico, coisa que o FlowLayout nao deixa. To vendo que vou ter que colocar um gerenciador em cima dela. Ou usar um setSize(2000,2000).
que m… hehe

Pilantra

hehehe, usa o AbsoluteLayout!! Se não me engano, é só definir no JPane.setLayout(null) dae você define as coordenadas que o componente vai ficar.

Criado 22 de janeiro de 2008
Ultima resposta 22 de jan. de 2008
Respostas 5
Participantes 2