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? (16)

Java10
Java10Java10
Java10
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Apostila Completa de Visual Basic
Apostila Completa de Visual BasicApostila Completa de Visual Basic
Apostila Completa de Visual Basic
 
Apostila visual basic
Apostila visual basicApostila visual basic
Apostila visual basic
 
Java AWT
Java AWTJava AWT
Java AWT
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
3336 excel 2007_avancado
3336 excel 2007_avancado3336 excel 2007_avancado
3336 excel 2007_avancado
 
Java14
Java14Java14
Java14
 
Tutorial visual c# express
Tutorial  visual c# expressTutorial  visual c# express
Tutorial visual c# express
 
Sobre Visual studio
Sobre Visual studioSobre Visual studio
Sobre Visual studio
 
Java12
Java12Java12
Java12
 
Tutorial1
Tutorial1Tutorial1
Tutorial1
 
HotPotatoes
HotPotatoesHotPotatoes
HotPotatoes
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
Joptionpane
JoptionpaneJoptionpane
Joptionpane
 
Net beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e AtalhosNet beans 7.4 Funções e Atalhos
Net beans 7.4 Funções e Atalhos
 

Andere mochten auch

Apostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansApostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansGeorge Dantas
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansBruno Borges
 
Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktopelliando dias
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesRosicleia Frasson
 
Tutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingTutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingEverson Wolf
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zeroFred Ramos
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeansPaulo Carvalho
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programaDenis Sobrenome
 
Conimel terminais2012
Conimel terminais2012Conimel terminais2012
Conimel terminais2012mapple2012
 

Andere mochten auch (20)

3way curso-formacao-java-web-completo
3way curso-formacao-java-web-completo3way curso-formacao-java-web-completo
3way curso-formacao-java-web-completo
 
Apostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansApostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeans
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeans
 
Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktop
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e Primefaces
 
Tutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingTutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swing
 
NetBeans: a IDE que você precisa
NetBeans: a IDE que você precisaNetBeans: a IDE que você precisa
NetBeans: a IDE que você precisa
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zero
 
Códigos poo java
Códigos poo javaCódigos poo java
Códigos poo java
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Testando Tomcat Com Netbeans
Testando Tomcat Com NetbeansTestando Tomcat Com Netbeans
Testando Tomcat Com Netbeans
 
Java swing
Java swingJava swing
Java swing
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeans
 
Javafree
JavafreeJavafree
Javafree
 
Agenda escolar
Agenda escolarAgenda escolar
Agenda escolar
 
Desenvolvimento de Aplicações
Desenvolvimento de AplicaçõesDesenvolvimento de Aplicações
Desenvolvimento de Aplicações
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Conimel terminais2012
Conimel terminais2012Conimel terminais2012
Conimel terminais2012
 

Ähnlich wie Criando uma agenda simples com NetBeans

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
 
Excel av truquesmagicos
Excel av truquesmagicosExcel av truquesmagicos
Excel av truquesmagicosTech Ideias
 

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

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
 
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
 
Excel av truquesmagicos
Excel av truquesmagicosExcel av truquesmagicos
Excel av truquesmagicos
 
Aula3
Aula3Aula3
Aula3
 

Mehr von Serge Rehem

Envie Certificados em PDF com Certiflink
Envie Certificados em PDF com CertiflinkEnvie Certificados em PDF com Certiflink
Envie Certificados em PDF com CertiflinkSerge Rehem
 
Product-led Growth - Produtos que se vendem sozinho (será?)
Product-led Growth - Produtos que se vendem sozinho (será?)Product-led Growth - Produtos que se vendem sozinho (será?)
Product-led Growth - Produtos que se vendem sozinho (será?)Serge Rehem
 
Product-led Growth: Produtos que se vendem sozinhos
Product-led Growth: Produtos que se vendem sozinhosProduct-led Growth: Produtos que se vendem sozinhos
Product-led Growth: Produtos que se vendem sozinhosSerge Rehem
 
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...Serge Rehem
 
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...Serge Rehem
 
Vamos falar sobre feedback?
Vamos falar sobre feedback?Vamos falar sobre feedback?
Vamos falar sobre feedback?Serge Rehem
 
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações TécnicasBitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações TécnicasSerge Rehem
 
Empreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisEmpreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisSerge Rehem
 
MVP Canvas: Protótipos Organizados, Negócios Acelerados
MVP Canvas: Protótipos Organizados, Negócios AceleradosMVP Canvas: Protótipos Organizados, Negócios Acelerados
MVP Canvas: Protótipos Organizados, Negócios AceleradosSerge Rehem
 
Micro-Lançamentos em 7 Passos
Micro-Lançamentos em 7 PassosMicro-Lançamentos em 7 Passos
Micro-Lançamentos em 7 PassosSerge Rehem
 
Empreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisEmpreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisSerge Rehem
 
Vendas SPIN: Perguntas que vendem CARO!
Vendas SPIN: Perguntas que vendem CARO!Vendas SPIN: Perguntas que vendem CARO!
Vendas SPIN: Perguntas que vendem CARO!Serge Rehem
 
O que uma Matryoshka me ensinou sobre Marketing Digital
O que uma Matryoshka me ensinou sobre Marketing Digital O que uma Matryoshka me ensinou sobre Marketing Digital
O que uma Matryoshka me ensinou sobre Marketing Digital Serge Rehem
 
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorGanhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorSerge Rehem
 
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing Digital
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing DigitalO Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing Digital
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing DigitalSerge Rehem
 
Como o Marketing Digital Pode Turbinar Sua Carreira em TI
Como o Marketing Digital Pode Turbinar Sua Carreira em TIComo o Marketing Digital Pode Turbinar Sua Carreira em TI
Como o Marketing Digital Pode Turbinar Sua Carreira em TISerge Rehem
 
Saia da Inércia!
Saia da Inércia!Saia da Inércia!
Saia da Inércia!Serge Rehem
 
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...Serge Rehem
 
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto Primeiro
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto PrimeiroComo Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto Primeiro
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto PrimeiroSerge Rehem
 

Mehr von Serge Rehem (20)

Envie Certificados em PDF com Certiflink
Envie Certificados em PDF com CertiflinkEnvie Certificados em PDF com Certiflink
Envie Certificados em PDF com Certiflink
 
Product-led Growth - Produtos que se vendem sozinho (será?)
Product-led Growth - Produtos que se vendem sozinho (será?)Product-led Growth - Produtos que se vendem sozinho (será?)
Product-led Growth - Produtos que se vendem sozinho (será?)
 
Product-led Growth: Produtos que se vendem sozinhos
Product-led Growth: Produtos que se vendem sozinhosProduct-led Growth: Produtos que se vendem sozinhos
Product-led Growth: Produtos que se vendem sozinhos
 
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...
Palestra Storytelling: Como contar boas histórias que prendem atenção, emocio...
 
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...
Palestra: Lançamento Semente - Como ser pago para vender pela primeira vez na...
 
Vamos falar sobre feedback?
Vamos falar sobre feedback?Vamos falar sobre feedback?
Vamos falar sobre feedback?
 
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações TécnicasBitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
 
Empreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisEmpreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos Digitais
 
MVP Canvas: Protótipos Organizados, Negócios Acelerados
MVP Canvas: Protótipos Organizados, Negócios AceleradosMVP Canvas: Protótipos Organizados, Negócios Acelerados
MVP Canvas: Protótipos Organizados, Negócios Acelerados
 
Micro-Lançamentos em 7 Passos
Micro-Lançamentos em 7 PassosMicro-Lançamentos em 7 Passos
Micro-Lançamentos em 7 Passos
 
Empreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos DigitaisEmpreendedorismo, Startups e Lançamentos Digitais
Empreendedorismo, Startups e Lançamentos Digitais
 
Vendas SPIN: Perguntas que vendem CARO!
Vendas SPIN: Perguntas que vendem CARO!Vendas SPIN: Perguntas que vendem CARO!
Vendas SPIN: Perguntas que vendem CARO!
 
O que uma Matryoshka me ensinou sobre Marketing Digital
O que uma Matryoshka me ensinou sobre Marketing Digital O que uma Matryoshka me ensinou sobre Marketing Digital
O que uma Matryoshka me ensinou sobre Marketing Digital
 
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorGanhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
 
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing Digital
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing DigitalO Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing Digital
O Que Uma Matryoshka Me Ensinou Sobre Agilidade e Marketing Digital
 
Como o Marketing Digital Pode Turbinar Sua Carreira em TI
Como o Marketing Digital Pode Turbinar Sua Carreira em TIComo o Marketing Digital Pode Turbinar Sua Carreira em TI
Como o Marketing Digital Pode Turbinar Sua Carreira em TI
 
Saia da Inércia!
Saia da Inércia!Saia da Inércia!
Saia da Inércia!
 
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...
O Empreendedor Corporativo: Como Não Atrofiar Seu Cérebro Após 18 Anos de Emp...
 
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto Primeiro
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto PrimeiroComo Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto Primeiro
Como Fazer Seu Lançamento Digital em 30 Dias Sem Criar um Produto Primeiro
 
Manifesto Ágil
Manifesto ÁgilManifesto Ágil
Manifesto Ágil
 

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).