Mais
Como adicionar uma imagem a um JPanel?
Eu tenho um JPanel ao qual eu'gostaria de adicionar imagens JPEG e PNG que eu gerei na mosca.
Todos os exemplos I'já vistos até agora em Swing Tutorials, especialmente em Swing examples utilizam ImageIcon
s.
I'm gerando estas imagens como matrizes de bytes, e geralmente são maiores que o ícone comum que usam nos exemplos, em 640x480.
- Existe algum (desempenho ou outro) problema na utilização da classe ImageIcon para exibir uma imagem daquele tamanho em um JPanel?
- Qual'é a forma usual de fazer isso?
- Como adicionar uma imagem a um JPanel sem usar a classe ImageIcon?
**Editar***: Um exame mais cuidadoso dos tutoriais e da API mostra que você não pode adicionar um ícone de imagem diretamente a um JPanel. Ao invés disso, eles conseguem o mesmo efeito definindo a imagem como um ícone de um JLabel. Isto simplesmente não'não parece certo...
334
3
Aqui's como o faço (com um pouco mais de informação sobre como carregar uma imagem):
ImageIcon
s. Para uma única imagem, eu pensaria em fazer uma subclasse personalizada deJPanel
e sobrepor seu métodoPintComponent
para desenhar a imagem.Você pode subclasse JPanel - aqui está um extrato do meu ImagePanel, que coloca uma imagem em qualquer um dos 5 locais, superior/esquerda, superior/direita, meio/interior, inferior/esquerda ou inferior/direita: