SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Marcus Becker - contato: meumundojava@gmail.com



                 Criando uma agenda simples com NetBeans 6.5
                                                                    (Swing application framework e Beansbinding)


Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor.
Demorei em torno de uma dia para criar a agenda.
Hoje com as funções da nova versão do NetBeans, consigo criar essa mesma agenda em alguns minutos,
dependendo, em alguns cliques.
O objetivo deste tutorial é mostrar isso, mas mantendo o conceito da primeira agenda simples que não usa banco
de dados.

Legenda das cores:
 Texo   Quando se trata de alguma propriedade, campo ou botão do NetBeans
Itálico    Nome de classe ou método




Iniciando:

    1.    Crie um novo projeto no NetBeans.
    2.    Na Categoria Java escolha o projeto Aplicativo de área de trabalho Java
    3.    Clique em Próximo
    4.    Altere o Nome do projeto para Agenda Simples
    5.    Em Escolher shell de aplicativo marque a opção aplicativo básico
    6.    Clique em Finalizar
Marcus Becker - contato: meumundojava@gmail.com


O NetBeans irá criar uma aplicação Desktop básica já funcional e três classes criadas AgandaSimplesAboutBox,
AgandaSimplesApp, AgandaSimplesView.
Além de criar mais uma classe que será a representação do nosso contato, precisamos importar para o nosso
projeto mais uma biblioteca. A biblioteca que será responsável pela vinculação dos componentes.

Importando biblioteca de vinculação:

   1. Abra a janela Projetos e selecione a pasta Bibliotecas do seu projeto.
   2. Clique com o botão direito em Biblioteca, no menu Adicionar biblioteca...
   3. Selecione Vinculação de Beans (no final da lista) e clique em Adicionar Biblioteca
Marcus Becker - contato: meumundojava@gmail.com

Criando a classe contato:

   1.   Clique com o botão direito no pacote agendasimples
   2.   Escolha Novo, depois Classe java
   3.   Altere o Nome da classe para Contato
   4.   Clique em Finalizar




Nossa classe Contato precisá ser um POJO e seus campos serão nome e telefone.
Marcus Becker - contato: meumundojava@gmail.com


Criando e encapulsando os campos:

    1. Crie dois campos privados do
       tipo String (private String nome
       e private String telefone)
    2. Com o ponteiro do mouse entre
       os colchetes da classe,
       pressiona ALT + INSERT
    3. No menu que apareceu,
       selecione Getter e Setter
    4. Na janela Gerar getter e setter,
       selecione Contato. Isso
       selecionará todos os campos
    5. Clique em Gerar e salve as
       alterações




Agora vamos
trabalhar a camada
visual,
abra a classe
AgandaSimplesView.
Certifique-se de estar
visualizando a janela
Projeto
e não a janela
Código-fonte.
Marcus Becker - contato: meumundojava@gmail.com

Arraste da Paletas os seguintes Controles Swing
para o projeto:
Marcus Becker - contato: meumundojava@gmail.com

Inserindo componentes e quantidades:

    •   Tabela                  -       1
    •   Rótulo                  -       2
    •   Campo de texto          -       2
    •   Botão                   -       3

Alinhe como preferir ou como mostra a imagem




Nos itens Tabela e Campo de texto, vamos alterar o nome da variável para facilitar seu uso.
Repita os três passos seguindo a tabela.

                                                                        Componente            Novo nome
    1. Botão direito sobre o componente
    2. Escolha a opção Alterar nome da variável...                  Tabela                      tabela
    3. Na janela Renomear / Novo nome                               1º Campo de texto          tfNome
       coloque o nome correspondente
                                                                    2º Campo de texto         tfTelefone


Obs. Os botões não precisam ser renomeados.

Até aqui não vimos muita diferença entre o NetBeans e o Eclipse. Mas as semelhanças param por aqui.
Vamos fazer a listagem dos nossos contatos. Altere o modo de visualização para Código-fonte.
Crie um método que retorne um ArrayList contendo nome e telefone de nossos contatos, representado pela
classe Contato que criamos anteriormente.

Criando método getContato():

   1.   Digite as linhas de código abaixo:
          private List<Contato> getContato() {
             List<Contato> lista = new ArrayList<Contato>();
             // Criando um contato para teste:
             Contato c = new Contato();
             c.setNome("Marcus Becker - meumundojava@gmail.com");
             c.setTelefone("11 ****-****");
             lista.add(c);

              return lista;
          }

   2. Atualize os imports com CTRL + SHIFT + I

Para exibir os dados em nossa tabela, precisamos vincular a tabela em um objeto List.
Depois usaremos alguns métodos que alterarão nosso objeto List (como o método getContato()) e essas
alterações refletirão em nossa tabela.
Marcus Becker - contato: meumundojava@gmail.com

Podemos criar o objeto List de duas formas:

   •    Selecionar na Paleta Java Persistence o
        componente Resultado da Consulta.
   •    Selecionar na Paleta Beans o componente
        Escolher Bean e no campo Nome da classe
        digitar
        java.util.List




Depois de adicionar o componente usando alguma dessas duas formas, veremos um erro em nosso código.
Isso ocorre porque o tipo de criação padrão do objeto List espera um objeto Query.
Vamos configurar nosso List. No Modo visual selecione-o na paleta Inspector

Configurando objeto List:

   1. Selecione o componente list1, com o botão direito clique em Propriedades
   2. Na aba Propriedades marque a caixa Observable
   3. Na aba Código altere o Nome da variável para lst
   4. Altere Parâmetros de tipo para <Contato>
      (Contato é o nome da classe que representa nossos dados. Não esqueça de usar < e >
   5. O mais importante é alterar o campo Criação de código personalizado para
      ObservableCollections.observableList(getContato())
   6. Na aba Código-fonte adicione os imports necessários CTRL + SHIFT + I
      (import org.jdesktop.observablecollections.ObservableCollections;)




O próximo passo é associar nossa tabela ao objeto List.
Marcus Becker - contato: meumundojava@gmail.com

Com essa associação tornaremos o conteúdo da tabela o conteúdo da nossa lista.
E por usarmos uma observableList, todas as alterações na nossa List refletirão na tabela.

Vínculando Tabela ao objeto List:

    1. Clique com o botão direito na Tabela escolhendo o item Víncular, após, Elements
    2. Na opção Código-fonte de vinculação selecione lst (o nome do nosso recipiente List<Contato>)
    3. Se tudo ocorreu bem, você verá os campos que declaramos na classe Contato. Clique em OK.
Marcus Becker - contato: meumundojava@gmail.com

Execute o projeto, nossa tabela já estará
exibindo os dados de teste que inserimos ao
criar o método getContato().
Agora será muito fácil inserir, remover e alterar
os dados na agenda.Vamos ajustar os campos
de texto para receber os valores da tabela.




Vinculando Texto à Tabela:

    1.   Clique com o botão direito no primeiro campo de texto escolhendo o item Víncular, após, Text
    2.   Na opção Código-fonte de vinculação selecione tabela (o nome da nossa Tabela)
    3.   Em Expressão de vinculação navegue até selectedElement e escolha o subitem nome
    4.   Repita esses passos para o segundo campo de texto, mas agora selecione o subitem telefone




Execute o projeto e verifique que ao selecionar algum item da Tabela, os campos de texto são preenchidos
automaticamente.

Vamos criar as funcionalidades dos botões. Temos três botões:
       O primeiro será responsável por criar um novo registro.
       O segundo salvará nossa List.
       O terceiro será responsável por excluir algum contato.
Para os três botões, definiremos ações distintas. O processo será o mesmo, apenas alterando o nome da ação.
Marcus Becker - contato: meumundojava@gmail.com

Criando ações:

   1.   Clique com o botão direito sobre o primeiro botão
   2.   Selecione o item Definir ação...
   3.   Na caixa de seleção Ação selecione Criar nova ação
   4.   No Método da ação digite novo (novo será o nome do método)
   5.   Em Atributos, aba Básico, item Texto digite Novo (Esse Novo será o texto do botão)
   6.   Quando clicar em OK, você irá para o novo método criado no Código-fonte. Volte para o modo Projeto
   7.   Repita os passos para os outros botões seguindo o mesmo padrão (salvar, Salvar e excluir, Excluir)




Não iremos focar no código dos botões, já que estamos mesmo interessados no NetBeans e sua facilidade de
desenvolvimento. Mas junto com o tutorial segue o projeto que pode ser aberto pelo NetBeans e o aplicativo
funcional (pasta dist).

Weitere ähnliche Inhalte

Was ist angesagt?

Apostil ade programação visual netbeans
Apostil ade programação visual   netbeansApostil ade programação visual   netbeans
Apostil ade programação visual netbeansPaulo Carvalho
 
Apostila Completa de Visual Basic
Apostila Completa de Visual BasicApostila Completa de Visual Basic
Apostila Completa de Visual BasicMarcos Paulo
 
Prova Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEProva Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEVestcon
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharpTiago
 
Questões Microsoft-word-2007
Questões Microsoft-word-2007Questões Microsoft-word-2007
Questões Microsoft-word-2007Marco Guimarães
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeansSliedesharessbarbosa
 
Banco de Dados MySQL + NetBeans Java + Interface Grafica
Banco de Dados MySQL + NetBeans Java + Interface GraficaBanco de Dados MySQL + NetBeans Java + Interface Grafica
Banco de Dados MySQL + NetBeans Java + Interface GraficaDivani Barbosa
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APIRicardo Ogliari
 

Was ist angesagt? (15)

Apostil ade programação visual netbeans
Apostil ade programação visual   netbeansApostil ade programação visual   netbeans
Apostil ade programação visual netbeans
 
Vba cadastro de clientes
Vba   cadastro de clientesVba   cadastro de clientes
Vba cadastro de clientes
 
Apostila Completa de Visual Basic
Apostila Completa de Visual BasicApostila Completa de Visual Basic
Apostila Completa de Visual Basic
 
cespe-questoes
cespe-questoescespe-questoes
cespe-questoes
 
Prova Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEProva Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPE
 
Curso Microsoft Excel 2010
Curso Microsoft Excel 2010Curso Microsoft Excel 2010
Curso Microsoft Excel 2010
 
Word Aula 16
Word Aula 16Word Aula 16
Word Aula 16
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
Word Aula 09
Word Aula 09Word Aula 09
Word Aula 09
 
Questões Microsoft-word-2007
Questões Microsoft-word-2007Questões Microsoft-word-2007
Questões Microsoft-word-2007
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
Apostila visual basic
Apostila visual basicApostila visual basic
Apostila visual basic
 
Banco de Dados MySQL + NetBeans Java + Interface Grafica
Banco de Dados MySQL + NetBeans Java + Interface GraficaBanco de Dados MySQL + NetBeans Java + Interface Grafica
Banco de Dados MySQL + NetBeans Java + Interface Grafica
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry API
 
Apostila microsoft visual basic
Apostila microsoft visual basicApostila microsoft visual basic
Apostila microsoft visual basic
 

Ähnlich wie Criando uma agenda simples com NetBeans

Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeansPaulo Carvalho
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#André Luiz
 
Crystal reports tutorial gerando seus relatórios
Crystal reports   tutorial gerando seus relatóriosCrystal reports   tutorial gerando seus relatórios
Crystal reports tutorial gerando seus relatóriosrobinhoct
 
Atividade dirigida unidade VIII
Atividade dirigida unidade VIIIAtividade dirigida unidade VIII
Atividade dirigida unidade VIIIMery Salgueiro
 
introdução ao enterprise architect
introdução ao enterprise architectintrodução ao enterprise architect
introdução ao enterprise architectRanieri de Souza
 
Planilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALCPlanilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALCeliz71
 
ODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasCaio Lima
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 

Ähnlich wie Criando uma agenda simples com NetBeans (20)

Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeans
 
Excel 2007 avancado
Excel 2007 avancadoExcel 2007 avancado
Excel 2007 avancado
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Manual
ManualManual
Manual
 
Crystal reports tutorial gerando seus relatórios
Crystal reports   tutorial gerando seus relatóriosCrystal reports   tutorial gerando seus relatórios
Crystal reports tutorial gerando seus relatórios
 
Atividade dirigida unidade 8
Atividade dirigida   unidade  8Atividade dirigida   unidade  8
Atividade dirigida unidade 8
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Atividade dirigida unidade VIII
Atividade dirigida unidade VIIIAtividade dirigida unidade VIII
Atividade dirigida unidade VIII
 
introdução ao enterprise architect
introdução ao enterprise architectintrodução ao enterprise architect
introdução ao enterprise architect
 
Planilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALCPlanilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALC
 
Módulo v - Planilha Eletrônica
Módulo v - Planilha EletrônicaMódulo v - Planilha Eletrônica
Módulo v - Planilha Eletrônica
 
ODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para Tabelas
 
Unidade 9
Unidade 9Unidade 9
Unidade 9
 
Tuto calc
Tuto calcTuto calc
Tuto calc
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
Calc
CalcCalc
Calc
 
Apostila de Power BI - Aula 1.pdf
Apostila de Power BI - Aula 1.pdfApostila de Power BI - Aula 1.pdf
Apostila de Power BI - Aula 1.pdf
 
Excel 2003 ler
Excel 2003   lerExcel 2003   ler
Excel 2003 ler
 
Excel truques magicos
Excel truques magicosExcel truques magicos
Excel truques magicos
 

Kürzlich hochgeladen

PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 

Kürzlich hochgeladen (20)

PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

Criando uma agenda simples com NetBeans

  • 1. Marcus Becker - contato: meumundojava@gmail.com Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de uma dia para criar a agenda. Hoje com as funções da nova versão do NetBeans, consigo criar essa mesma agenda em alguns minutos, dependendo, em alguns cliques. O objetivo deste tutorial é mostrar isso, mas mantendo o conceito da primeira agenda simples que não usa banco de dados. Legenda das cores: Texo Quando se trata de alguma propriedade, campo ou botão do NetBeans Itálico Nome de classe ou método Iniciando: 1. Crie um novo projeto no NetBeans. 2. Na Categoria Java escolha o projeto Aplicativo de área de trabalho Java 3. Clique em Próximo 4. Altere o Nome do projeto para Agenda Simples 5. Em Escolher shell de aplicativo marque a opção aplicativo básico 6. Clique em Finalizar
  • 2. Marcus Becker - contato: meumundojava@gmail.com O NetBeans irá criar uma aplicação Desktop básica já funcional e três classes criadas AgandaSimplesAboutBox, AgandaSimplesApp, AgandaSimplesView. Além de criar mais uma classe que será a representação do nosso contato, precisamos importar para o nosso projeto mais uma biblioteca. A biblioteca que será responsável pela vinculação dos componentes. Importando biblioteca de vinculação: 1. Abra a janela Projetos e selecione a pasta Bibliotecas do seu projeto. 2. Clique com o botão direito em Biblioteca, no menu Adicionar biblioteca... 3. Selecione Vinculação de Beans (no final da lista) e clique em Adicionar Biblioteca
  • 3. Marcus Becker - contato: meumundojava@gmail.com Criando a classe contato: 1. Clique com o botão direito no pacote agendasimples 2. Escolha Novo, depois Classe java 3. Altere o Nome da classe para Contato 4. Clique em Finalizar Nossa classe Contato precisá ser um POJO e seus campos serão nome e telefone.
  • 4. Marcus Becker - contato: meumundojava@gmail.com Criando e encapulsando os campos: 1. Crie dois campos privados do tipo String (private String nome e private String telefone) 2. Com o ponteiro do mouse entre os colchetes da classe, pressiona ALT + INSERT 3. No menu que apareceu, selecione Getter e Setter 4. Na janela Gerar getter e setter, selecione Contato. Isso selecionará todos os campos 5. Clique em Gerar e salve as alterações Agora vamos trabalhar a camada visual, abra a classe AgandaSimplesView. Certifique-se de estar visualizando a janela Projeto e não a janela Código-fonte.
  • 5. Marcus Becker - contato: meumundojava@gmail.com Arraste da Paletas os seguintes Controles Swing para o projeto:
  • 6. Marcus Becker - contato: meumundojava@gmail.com Inserindo componentes e quantidades: • Tabela - 1 • Rótulo - 2 • Campo de texto - 2 • Botão - 3 Alinhe como preferir ou como mostra a imagem Nos itens Tabela e Campo de texto, vamos alterar o nome da variável para facilitar seu uso. Repita os três passos seguindo a tabela. Componente Novo nome 1. Botão direito sobre o componente 2. Escolha a opção Alterar nome da variável... Tabela tabela 3. Na janela Renomear / Novo nome 1º Campo de texto tfNome coloque o nome correspondente 2º Campo de texto tfTelefone Obs. Os botões não precisam ser renomeados. Até aqui não vimos muita diferença entre o NetBeans e o Eclipse. Mas as semelhanças param por aqui. Vamos fazer a listagem dos nossos contatos. Altere o modo de visualização para Código-fonte. Crie um método que retorne um ArrayList contendo nome e telefone de nossos contatos, representado pela classe Contato que criamos anteriormente. Criando método getContato(): 1. Digite as linhas de código abaixo: private List<Contato> getContato() { List<Contato> lista = new ArrayList<Contato>(); // Criando um contato para teste: Contato c = new Contato(); c.setNome("Marcus Becker - meumundojava@gmail.com"); c.setTelefone("11 ****-****"); lista.add(c); return lista; } 2. Atualize os imports com CTRL + SHIFT + I Para exibir os dados em nossa tabela, precisamos vincular a tabela em um objeto List. Depois usaremos alguns métodos que alterarão nosso objeto List (como o método getContato()) e essas alterações refletirão em nossa tabela.
  • 7. Marcus Becker - contato: meumundojava@gmail.com Podemos criar o objeto List de duas formas: • Selecionar na Paleta Java Persistence o componente Resultado da Consulta. • Selecionar na Paleta Beans o componente Escolher Bean e no campo Nome da classe digitar java.util.List Depois de adicionar o componente usando alguma dessas duas formas, veremos um erro em nosso código. Isso ocorre porque o tipo de criação padrão do objeto List espera um objeto Query. Vamos configurar nosso List. No Modo visual selecione-o na paleta Inspector Configurando objeto List: 1. Selecione o componente list1, com o botão direito clique em Propriedades 2. Na aba Propriedades marque a caixa Observable 3. Na aba Código altere o Nome da variável para lst 4. Altere Parâmetros de tipo para <Contato> (Contato é o nome da classe que representa nossos dados. Não esqueça de usar < e > 5. O mais importante é alterar o campo Criação de código personalizado para ObservableCollections.observableList(getContato()) 6. Na aba Código-fonte adicione os imports necessários CTRL + SHIFT + I (import org.jdesktop.observablecollections.ObservableCollections;) O próximo passo é associar nossa tabela ao objeto List.
  • 8. Marcus Becker - contato: meumundojava@gmail.com Com essa associação tornaremos o conteúdo da tabela o conteúdo da nossa lista. E por usarmos uma observableList, todas as alterações na nossa List refletirão na tabela. Vínculando Tabela ao objeto List: 1. Clique com o botão direito na Tabela escolhendo o item Víncular, após, Elements 2. Na opção Código-fonte de vinculação selecione lst (o nome do nosso recipiente List<Contato>) 3. Se tudo ocorreu bem, você verá os campos que declaramos na classe Contato. Clique em OK.
  • 9. Marcus Becker - contato: meumundojava@gmail.com Execute o projeto, nossa tabela já estará exibindo os dados de teste que inserimos ao criar o método getContato(). Agora será muito fácil inserir, remover e alterar os dados na agenda.Vamos ajustar os campos de texto para receber os valores da tabela. Vinculando Texto à Tabela: 1. Clique com o botão direito no primeiro campo de texto escolhendo o item Víncular, após, Text 2. Na opção Código-fonte de vinculação selecione tabela (o nome da nossa Tabela) 3. Em Expressão de vinculação navegue até selectedElement e escolha o subitem nome 4. Repita esses passos para o segundo campo de texto, mas agora selecione o subitem telefone Execute o projeto e verifique que ao selecionar algum item da Tabela, os campos de texto são preenchidos automaticamente. Vamos criar as funcionalidades dos botões. Temos três botões: O primeiro será responsável por criar um novo registro. O segundo salvará nossa List. O terceiro será responsável por excluir algum contato. Para os três botões, definiremos ações distintas. O processo será o mesmo, apenas alterando o nome da ação.
  • 10. Marcus Becker - contato: meumundojava@gmail.com Criando ações: 1. Clique com o botão direito sobre o primeiro botão 2. Selecione o item Definir ação... 3. Na caixa de seleção Ação selecione Criar nova ação 4. No Método da ação digite novo (novo será o nome do método) 5. Em Atributos, aba Básico, item Texto digite Novo (Esse Novo será o texto do botão) 6. Quando clicar em OK, você irá para o novo método criado no Código-fonte. Volte para o modo Projeto 7. Repita os passos para os outros botões seguindo o mesmo padrão (salvar, Salvar e excluir, Excluir) Não iremos focar no código dos botões, já que estamos mesmo interessados no NetBeans e sua facilidade de desenvolvimento. Mas junto com o tutorial segue o projeto que pode ser aberto pelo NetBeans e o aplicativo funcional (pasta dist).