quarta-feira, 16 de fevereiro de 2011

Swing: JFrame e Imagem


Se você está querendo criar um “programinha” ou um “programão” em java, certamente vai querer colocar uma ou algumas imagens nas janelas que criar, porém ao procurar algum código swing ou, se estiver utilizando o netbeans ou algum outro editor visual (arrastar e soltar), repara que não existe uma opção para inserir imagens no jFrame.
Mas como fica o programa nesse caso? Não existe forma de colocar uma imagem na janela?
Claro que tem, existem diversas formas de se fazer isso, mas vou falar de uma forma em específico, a forma mais simples.
Veja, no exemplo abaixo, uma imagem inserida dentro de um JFrame.
Imagem exemplo - JFrame com imagem de fundo

Para colocar essa imagem no JFrame eu não coloquei a imagem no JFrame.
Confuso? Eu explico.
Realmente não dá, ou não é tão “acessível” com os códigos convencionais do swing, colocar uma imagem diretamente na janela, como se coloca qualquer componente como labels, botões, etç. Mas é extremamente simples colocar uma imagem em um componente como um label ou botão.
O mais indicado para esse caso é o JLabel, ficando basicamente assim, você tem seu JFrame e insere nele um JLabel, esse label no lugar de exibir um texto vai exibir uma imagem!
Simples né?
Vamos ver se o código também fica simples:

{
labelImagemFundo = new JLabel();
getContentPane().add(labelImagemFundo);
labelImagemFundo.setIcon(new ImageIcon(getClass().getClassLoader().getResource(“java_job.gif”)));
}
Enjoy!

Nenhum comentário:

Postar um comentário