Olá pessoal,
Espero que vocês me ajudem nessa dúvida.
Tenho uma aplicação desktop onde coloquei um JLabel completamente vazio (sem texto e sem ícone) em um JPanel com espaço suficiente para o JLabel mostrando o ícone. Em um botão, criei uma imagem qualquer com o BufferedImage e com createGraphics().
O problema que estou tendo é que, ao aparecer a imagem no JLabel, o JPanel que contém esse JLabel também se redimensiona proporcionalmente ao JLabel, sem aproveitar o espaço disponível (que, por sinal, é mais do que suficiente).
Estou usando o NetBeans 5. Não achei nenhuma propriedade que me ajudasse.
Desde já agradeço!
prq vc nao faz assim:
panelMarca.setSize(new Dimension(100,100));
Porque simplesmente não funciona. Percebi que tem alguma coisa com a ancoragem dos panels da janela. Quando coloco, por exemplo, os dois panels com mesmo tamanho (same size), ocorre isso.
Se eu refizer a janela colocando primeiro o panel com a label da figura e depois os demais panels, ela não redimensiona dessa forma estranha.
Odeio adimitir, mas EU estava certo :lol:
Realmente era um problema de ancoragem. Eu estava preocupado em ancorar o meu JPanel mais interno nas bordas do JPanel mais externo, mas esquecia de ancorar o JPanel mais externo nas bordas do JFrame. Assim, toda vez que o JLabel mudava de tamanho, o JPanel (o mais interno ou o mais externo) “excorregava” para o(s) lado(s) que não estavam ancorados.
Para ancorar no NB5, basta redimensionar o componente de forma que apareça aquela linha pontilhada na borda e soltar. Depois de solto, deve aparecer uma setinha apontando os lados que estão ancorados.
Vou colocar algumas imagens para ficar mais claro.
Espero que ajude a todos que precisarem!!!
