// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Tratando Imagens em uma Aplicação Java GUI
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Tratando Imagens em uma Aplicação Java GUI - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Tratando Imagens em uma Aplicação Java GUI


image::images/netbeans-stamp-80-74.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.4 e 8.0"]


*Para concluir este tutorial, você precisa dos seguintes recursos e softwares.*

|===
|Software ou Recurso |Versão Necessária 

|link:http://netbeans.org/downloads/[+NetBeans IDE+] |Versão 7.4 ou 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |Versão 6, 7 ou 8 
|===


== Introdução

O tratamento de imagens em uma aplicação é um problema comum para muitos programadores iniciantes em Java. A forma padrão de acessar as imagens em uma aplicação Java é por meio do método `link:http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)[+getResource()+]`. Este tutorial mostra como usar o GUI Builder do IDE para gerar o código a fim de que inclua imagens (e outros recursos) em sua aplicação. Além disso, você aprenderá como personalizar a forma na qual o IDE gera o código de tratamento de imagens.

A aplicação resultante deste tutorial será um JFrame simples que contém um JLabel que exibe uma única imagem.


== Criando a Aplicação

1. Escolha Arquivo > Novo Projeto.
2. No assistente Novo Projeto, selecione Java > Aplicação Java e clique em Próximo.
3. Em Nome do Projeto, digite `ImageDisplayApp`.
4. Desmarque a caixa de seleção Criar Classe Principal.

[.feature]
--
image::images/newproj-small.png[role="left", link="images/newproj.png"]
--

5. Clique em Finalizar.


== Criando o Form da Aplicação

Nesta seção, você cria o form JFrame e adiciona um JLabel ao form.

*Para criar o form JFrame:*

1. Na janela Projetos, expanda o nó  ``ImageDisplayApp`` .
2. Clique com o botão direito do mouse no nó Pacotes de Código-fonte e escolha Novo > Form JFrame.
3. Em Nome da Classe, digite `ImageDisplay`.
4. Em Nome do Pacote, digite `org.me.myimageapp`.
5. Clique em Finalizar.

*Para adicionar o JLabel:*

* Na Paleta, selecione o componente Label e arraste-o para o JFrame.

Até este momento, o form deve ser semelhante à seguinte imagem:

[.feature]
--
image::images/form-small.png[role="left", link="images/form.png"]
--


== Adicionando um Pacote na Imagem

Ao usar imagens ou outros recursos em uma aplicação, normalmente você cria um pacote Java separado para os recursos. No seu sistema de arquivos local, um pacote corresponde a uma pasta.

*Para criar um pacote para a imagem:*

1. Na janela Projetos, clique com o botão direito do mouse no nó `org.me.myimageapp` e escolha Novo > Pacote Java.

[.feature]
--
image::images/package-small.png[role="left", link="images/package.png"]
--

2. Clique em Finalizar.

Na janela Projetos, você deve ver um novo pacote que aparece na pasta `Pacotes do Código-fonte`.

image::images/project-with-imagepack.png[]


== Exibindo a Imagem no Label

Nesta aplicação, a imagem será incorporada em um componente JLabel.

*Para adicionar a imagem ao label:*

1. No Designer de GUI, selecione o label que adicionou ao seu form.
2. Na janela Propriedades, clique na categoria Propriedades e role até a propriedade do ícone.
3. Clique no botão de reticências (...).
O editor de propriedades do ícone é exibido.

[.feature]
--
image::images/importimage-small.png[role="left", link="images/importimage.png"]
--

4. Na caixa de diálogo da propriedade do ícone, clique em Importar para o Projeto.
5. Na seletor de arquivos, vá até qualquer imagem que esteja em seu sistema que você queira usar. Em seguida, clique em Próximo.
6. Na página Selecionar pasta de destino do assistente, selecione a pasta `newpackage` e clique em Finalizar.

[.feature]
--
image::images/targetfolder-small.png[role="left", link="images/targetfolder.png"]
--

7. Clique em OK para fechar a caixa de diálogo de propriedade do ícone.

Após clicar em OK, o IDE faz o seguinte:

* Copia a imagem para seu projeto. Portanto, quando você constrói e distribui a aplicação, a imagem é incluída no arquivo JAR distribuível.
* Gera o código na classe ImageDisplay para acessar a imagem.
* Exibe a sua imagem no label na view Design do seu form.

[.feature]
--
image::images/label-added-small.png[role="left", link="images/label-added.png"]
--

Neste momento, você pode realizar alguns procedimentos simples para melhorar a aparência do form, como:

* Na janela Propriedades, selecione a propriedade `text` e delete `jLabel1`. Tal valor foi gerado pelo GUI Builder para exibir o texto do label. No entanto, você está usando o label para exibir uma imagem em vez do texto, de modo que o texto não seja necessário.
* Arraste o `jLabel1` para o centro do form.

[.feature]
--
image::images/centered-small.png[role="left", link="images/centered.png"]
--

*Para exibir o código gerado:*

1. No Designer do GUI, clique no botão Código-fonte. (Selecione Exibir > Barra de Ferramentas Editor de Código-fonte do menu principal se o botão Código-fonte estiver oculto.)
2. Role até linha que diz Código Gerado.
3. Clique no sinal de mais (+) à esquerda da linha Código Gerado para exibir o código que o Designer de GUI gerou.

A linha-chave é a seguinte:


[source,java]
----

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/me/myimageapp/newpackage/image.png"))); // NOI18N
----

Visto que você usou o editor de propriedades da propriedade do `Ícone` do `jLabel1`, o IDE gerou o método `setIcon`. O parâmetro de tal método contém uma chamada ao método `link:http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)[+getResource()+]` em uma classe anônima interna de `ImageIcon`. Observe que o caminho gerado da imagem correspondente à sua localização na estrutura de pacote da aplicação.

*Observações:*

* Se você usar a opção Imagem Externa no editor de propriedades do ícone, o IDE gerará um caminho absoluto para a imagem em vez de copiar a imagem no seu projeto. Portanto, a imagem seria exibida ao executar a aplicação no sistema, mas possivelmente não seria exibida ao executar a aplicação em outro sistema.
* O método `getResource` também é útil para acessar outros tipos de recursos, como arquivos de texto que contêm dados que a aplicação talvez precise usar.

*Para registrar handlers de evento para eventos do mouse no JLabel:*

Na View Design, clique com o botão direito do mouse em JLabel e escolha Eventos > Mouse > mouseClicked/mousePressed/mouseReleased no menu pop-up.
Um handler de evento é gerado para o evento correspondente.

*Observação:* você pode obter coordenadas do mouse (por exemplo, a localização de um clique do mouse) no handler de evento usando os métodos `event.getPoint()`, `event.getX()` ou `event.getY()`. Consulte link:http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/event/MouseEvent.html[+Classe MouseEvent+] para obter detalhes.


== Exibindo a imagem como Plano de Fundo no Quadro

Não há nenhum suporte direto para uma imagem de segundo plano do JFrame no GUI Builder, já que não há nenhum suporte direto para uma imagem de segundo plano do JFrame no Swing.
De qualquer forma, há diversas formas indiretas de atingir tal objetivo. Nesta aplicação, o JLabel com a imagem será embutido dentro do componente JFrame, enquanto que um JPanel transparente será colocado sobre o JLabel e usado como o principal de todos os componentes.

*Para adicionar um JPanel transparente na JFrame com a imagem:*

1. Escolha Arquivo > Novo Projeto.
2. No assistente Novo Projeto, selecione Java > Aplicação Java e clique em Próximo.
3. Em Nome do Projeto, digite `BackgroundImageApp`.
4. Desmarque a caixa de seleção Criar Classe Principal.

[.feature]
--
image::images/prj-small.png[role="left", link="images/prj.png"]
--

5. Clique em Finalizar.
6. Na janela Projetos, expanda o nó `BackgroundImageApp`.
7. Clique com o botão direito do mouse no nó Pacotes de Código-fonte e escolha Novo > Form JFrame.
8. Em Nome da Classe, digite `ImageDisplay`.
9. Em Nome do Pacote, digite `org.me.mybackgroundapp`.

[.feature]
--
image::images/newjframe-small.png[role="left", link="images/newjframe.png"]
--

10. Clique em Finalizar.
11. Na view Design, clique com o botão direito do mouse em JFrame e selecione Definir Layout > Layout do Conjunto de Grades no menu pop-up.
12. Clique com o botão direito do mouse em JFrame e selecione Adicionar da Paleta > Contêineres Swing > Painel no menu pop-up.
13. Na janela Propriedades, desmarque a propriedade `opaque` do jPanel.
14. Clique com o botão direito do mouse em JFrame e selecione Adicionar da Paleta > Controles do Swing > Label no menu pop-up.
15. Na janela Projetos, clique com o botão direito do mouse no nó `org.me.mybackgroundapp` e escolha Novo > Pacote Java.
16. Clique em Finalizar. Um novo pacote é adicionado.
17. No Designer de GUI, selecione o label que adicionou ao seu form.
18. Na janela Propriedades, clique na categoria Propriedades e role até a propriedade do ícone.
19. Clique no botão de reticências (...).
20. Na caixa de diálogo da propriedade do ícone, clique em Importar para o Projeto.
21. Na seletor de arquivos, vá até qualquer imagem que esteja em seu sistema que você queira usar. Em seguida, clique em Próximo.
22. Na página Selecionar Pasta de Destino do assistente, selecione a pasta de recursos `newpackage` e clique em Finalizar.

[.feature]
--
image::images/targetfolder-small.png[role="left", link="images/targetfolder.png"]
--

23. Clique em OK para fechar a caixa de diálogo de propriedade do ícone.
24. No navegador, clique com o botão direito do mouse em jPanel e escolha Propriedades no menu pop-up.
25. Na caixa de dialogo Propriedades, defina as propriedades `Grid X`, `Grid Y`, `Weight X` e `Weight Y` como `1` e a propriedade `Fill` como `Both`.

[.feature]
--
image::images/panelprops-small.png[role="left", link="images/panelprops.png"]
--

26. Clique em Fechar.
27. Repita as etapas 24 e 25 para o jLabel.
28. Na caixa de diálogo Propriedades, selecione a propriedade `text` e delete `jLabel1`.

[.feature]
--
image::images/labelprops-small.png[role="left", link="images/labelprops.png"]
--

O segundo plano está pronto. Agora você pode arrastar um jLabel e um jTextField ao jPanel a partir da Paleta, por exemplo. Ambos serão exibidos sobre a imagem de segundo plano.

image::images/background.png[]

*Observação:* a vantagem da solução descrita é que a imagem de segundo plano é mostrada no período do projeto e no runtime.


== Construindo e Executando a Aplicação

Agora que gerou o código para acessar e exibir a imagem, você pode construir e executar a aplicação para certificar-se de que a imagem está sendo acessada.

Você precisa, primeiro, definir a classe principal do projeto. Quando você define a classe principal, o IDE sabe quais classes executar quando o projeto é executado. Além disso, isso garante que o elemento `Main-Class` no arquivo JAR do projeto seja gerado quando você construir a aplicação.

*Para definir a classe principal do projeto:*

1. Clique com o botão direito do mouse no nó do projeto ImageDisplayApp e escolha Propriedades.
2. Na caixa de diálogo Propriedades do projeto, selecione a categoria Executar.
3. Clique no botão Procurar ao lado do campo Classe Principal. Depois selecione a classe `org.me.myimageapp.ImageDisplay`.

[.feature]
--
image::images/mainclass-small.png[role="left", link="images/mainclass.png"]
--

4. Clique no botão Selecionar Classe Principal.
5. Clique em OK para fechar a caixa de diálogo Propriedades do Projeto.

*Para construir o projeto:*

* Escolha Executar > Limpar &amp; Criar Projeto (_project_name_) na barra de ferramentas principal.

Você pode exibir os produtos construídos da aplicação na janela Arquivos. A pasta `build` contém a classe compilada. A pasta `dist` contém um arquivo JAR executável que contém a classe compilada e a imagem.

image::images/files.png[]

*Para executar o projeto:*

* Escolha Executar > Executar Projeto (_project_name_) na barra de ferramentas principal.


== Criando Código Personalizado

Em muitas aplicações, a imagem exibida não é determinada estaticamente como neste exemplo. Por exemplo, a imagem a ser exibida pode ser determinada por algo no qual o usuário clica.

Se precisar escolher a imagem a ser exibida programaticamente, você pode escrever seu próprio código personalizado para acessar e exibir recursos. O IDE impede que você escreva o código diretamente nos "blocos protegidos" da view Código-fonte que contém o código gerado pelo GUI Builder. No entanto, você pode inserir o código nos blocos protegidos usando os editores de propriedades que podem ser acessados na janela Propriedades. Ao usar os editores de propriedades desta forma, você garante que o código personalizado não se perda ao fazer alterações de design no GUI Builder.

*Por exemplo, para escrever o código personalizado de uma propriedade `icon` do JLabel:*

1. Selecione JLabel na View Design ou na janela Navegador.
2. Na janela Propriedades, clique no botão de reticências (...) ao lado da propriedade `icon`.
3. Na lista drop-down da parte superior da caixa de diálogo, selecione a opção Código Personalizado.

[.feature]
--
image:images/custom-code-small.png[role="left", link="images/custom-code.png"]
--

A opção Código Personalizado deste editor de propriedades permite que você mesmo preencha o parâmetro do método `setIcon`. Você pode preencher este parâmetro com a lógica necessária ou com uma chamada a um método diferente que você escreveu em outro lugar na classe.

[.feature]
--
image::images/custom-view-small.png[role="left", link="images/custom-view.png"]
--


== Resumo

Este tutorial mostrou como acessar imagens de uma aplicação que você criou no NetBeans IDE. O tratamento de imagens é abordado posteriormente no Tutorial do Java.

*Observação: *o exemplo oferecido neste tutorial é muito semelhante ao primeiro exemplo na link:http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html[+seção Como Usar Ícones+] do Tutorial do Java. A diferença é que o código gerado neste tutorial usa o método `link:http://download.oracle.com/javase/6/docs/api/javax/swing/JLabel.html#setIcon(javax.swing.Icon)[+setIcon+]` do `link:http://download.oracle.com/javase/6/docs/api/javax/swing/JLabel.html[+JLabel+]` para aplicar o ícone no label. No exemplo do Tutorial do Java, o ícone é aplicado no label ao ser passado pelo seu construtor.

link:/about/contact_form.html?to=3&subject=Feedback:%20Handling%20Images%20in%20a%20GUI%20Application[+Enviar Feedback neste Tutorial+]



== Consulte Também

* link:gui-functionality.html[+Introdução à Construção de GUIs+]
* link:quickstart-gui.html[+Projetando uma GUI Swing no NetBeans IDE+]
* link:../../trails/matisse.html[+Trilha de Aprendizado das Aplicações de GUI do Java+]
* link:../../trails/java-se.html[+Trilha de Aprendizado do Desenvolvimento Geral em Java+]
* link:http://wiki.netbeans.org/NetBeansUserFAQ#GUI_Editor_.28Matisse.29[+GUI Builder - Perguntas Frequentes+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Implementando GUIs de Java+] em _Desenvolvendo Aplicações com o NetBeans IDE_
