Escolar Documentos
Profissional Documentos
Cultura Documentos
Criando Uma Agenda Simples Com NetBeans 6.5 PDF
Criando Uma Agenda Simples Com NetBeans 6.5 PDF
com
Criando uma agenda simples com NetBeans 6.5
(Swing application framework e Beansbinding)
J fa algum tempo !ue escre"i uma agenda simples usando o #clipse com o $isual %lass #ditor.
&emorei em torno de uma dia para criar a agenda.
'o(e com as fun)*es da no"a "ers+o do ,etBeans- consigo criar essa mesma agenda em alguns minutos-
dependendo- em alguns cli!ues.
. ob(eti"o deste tutorial / mostrar isso- mas mantendo o conceito da primeira agenda simples !ue n+o usa banco
de dados.
0egenda das cores:
1e2o 3uando se trata de alguma propriedade- campo ou bot+o do ,etBeans
Itlico ,ome de classe ou m/todo
Iniciando:
4. %rie um no"o pro(eto no ,etBeans.
5. ,a %ategoria Ja"a escol6a o pro(eto 7plicati"o de rea de trabal6o Ja"a
8. %li!ue em 9r:2imo
;. 7ltere o ,ome do pro(eto para 7genda Simples
<. #m #scol6er s6ell de aplicati"o mar!ue a op)+o aplicati"o bsico
=. %li!ue em >inaliar
Marcus Becker - contato: meumundojava@gmail.com
. ,etBeans ir criar uma aplica)+o &esktop bsica ( funcional e tr?s classes criadas AgandaSimplesAboutBox-
AgandaSimplesApp- AgandaSimplesView.
7l/m de criar mais uma classe !ue ser a representa)+o do nosso contato- precisamos importar para o nosso
pro(eto mais uma biblioteca. 7 biblioteca !ue ser respons"el pela "incula)+o dos componentes.
Importando biblioteca de vinculao:
4. 7bra a (anela 9ro(etos e selecione a pasta Bibliotecas do seu pro(eto.
5. %li!ue com o bot+o direito em Biblioteca- no menu 7dicionar biblioteca...
8. Selecione $incula)+o de Beans (no final da lista) e cli!ue em 7dicionar Biblioteca
Marcus Becker - contato: meumundojava@gmail.com
Criando a classe contato:
4. %li!ue com o bot+o direito no pacote agendasimples
5. #scol6a ,o"o- depois %lasse (a"a
8. 7ltere o ,ome da classe para %ontato
;. %li!ue em >inaliar
,ossa classe Contato precis ser um 9.J. e seus campos ser+o nome e telefone.
Marcus Becker - contato: meumundojava@gmail.com
Criando e encapulsando os campos:
4. %rie dois campos pri"ados do
tipo String (private String nome
e private String telefone)
5. %om o ponteiro do mouse entre
os colc6etes da classe-
pressiona 701 @ A,S#B1
8. ,o menu !ue apareceu-
selecione Cetter e Setter
;. ,a (anela Cerar getter e setter-
selecione %ontato. Asso
selecionar todos os campos
<. %li!ue em Cerar e sal"e as
altera)*es
7gora "amos
trabal6ar a camada
"isual-
abra a classe
AgandaSimplesView.
%ertifi!ue-se de estar
"isualiando a (anela
9ro(eto
e n+o a (anela
%:digo-fonte.
Marcus Becker - contato: meumundojava@gmail.com
Arraste da Paletas os seguintes Controles !ing
para o projeto:
Marcus Becker - contato: meumundojava@gmail.com
Inserindo componentes e "uantidades:
1abela - 4
B:tulo - 5
%ampo de te2to - 5
Bot+o - 8
7lin6e como preferir ou como mostra a imagem
,os itens 1abela e %ampo de te2to- "amos alterar o nome da "ari"el para facilitar seu uso.
Bepita os tr?s passos seguindo a tabela.
4. Bot+o direito sobre o componente
5. #scol6a a op)+o 7lterar nome da "ari"el...
8. ,a (anela Benomear D ,o"o nome
colo!ue o nome correspondente
.bs. .s bot*es n+o precisam ser renomeados.
%omponente ,o"o nome
1abela tabela
4E %ampo de te2to tf,ome
5E %ampo de te2to tf1elefone
7t/ a!ui n+o "imos muita diferen)a entre o ,etBeans e o #clipse. Mas as semel6an)as param por a!ui.
$amos faer a listagem dos nossos contatos. 7ltere o modo de "isualia)+o para %:digo-fonte.
%rie um m/todo !ue retorne um 7rraF0ist contendo nome e telefone de nossos contatos- representado pela
classe Contato !ue criamos anteriormente.
Criando m#todo getContato$%:
4. &igite as lin6as de c:digo abai2o:
private List<Contato getContato!" #
List<Contato lista $ new Arra%List<Contato!"&
'' Criando um contato para teste(
Contato c $ new Contato!"&
c.set)ome!*+arcus Bec,er - meumundo.ava/gmail.com*"&
c.set0elefone!*11 2222-2222*"&
lista.add!c"&
return lista&
3
5. 7tualie os imports com %1B0 @ S'A>1 @ A
9ara e2ibir os dados em nossa tabela- precisamos "incular a tabela em um ob(eto 0ist.
&epois usaremos alguns m/todos !ue alterar+o nosso ob(eto 0ist (como o m/todo get%ontato()) e essas
altera)*es refletir+o em nossa tabela.
Marcus Becker - contato: meumundojava@gmail.com
Podemos criar o objeto &ist de duas 'ormas:
Selecionar na 9aleta Ja"a 9ersistence o
componente Besultado da %onsulta.
Selecionar na 9aleta Beans o componente
#scol6er Bean e no campo ,ome da classe
digitar
.ava.util.List
&epois de adicionar o componente usando alguma dessas duas formas- "eremos um erro em nosso c:digo.
Asso ocorre por!ue o tipo de cria)+o padr+o do ob(eto 0ist espera um ob(eto 3uerF.
$amos configurar nosso 0ist. ,o Modo "isual selecione-o na paleta Anspector
Con'igurando objeto &ist:
4. Selecione o componente list4- com o bot+o direito cli!ue em 9ropriedades
5. ,a aba 9ropriedades mar!ue a cai2a .bser"able
8. ,a aba %:digo altere o ,ome da "ari"el para lst
;. 7ltere 9arGmetros de tipo para <Contato
(%ontato / o nome da classe !ue representa nossos dados. ,+o es!ue)a de usar H e I
<. . mais importante / alterar o campo %ria)+o de c:digo personaliado para
4bservableCollections.observableList!getContato!""
=. ,a aba %:digo-fonte adicione os imports necessrios %1B0 @ S'A>1 @ A
(import org..des,top.observablecollections.4bservableCollections&)
. pr:2imo passo / associar nossa tabela ao ob(eto 0ist.
Marcus Becker - contato: meumundojava@gmail.com
%om essa associa)+o tornaremos o conteJdo da tabela o conteJdo da nossa lista.
# por usarmos uma observableList5 todas as altera)*es na nossa 0ist refletir+o na tabela.
()nculando *abela ao objeto &ist:
4. %li!ue com o bot+o direito na 1abela escol6endo o item $Kncular- ap:s- #lements
5. ,a op)+o %:digo-fonte de "incula)+o selecione lst (o nome do nosso recipiente List<Contato)
8. Se tudo ocorreu bem- "oc? "er os campos !ue declaramos na classe Contato. %li!ue em .L.
Marcus Becker - contato: meumundojava@gmail.com
#2ecute o pro(eto- nossa tabela ( estar
e2ibindo os dados de teste !ue inserimos ao
criar o m/todo getContato!".
7gora ser muito fcil inserir- remo"er e alterar
os dados na agenda.$amos a(ustar os campos
de te2to para receber os "alores da tabela.
(inculando *e+to , *abela:
4. %li!ue com o bot+o direito no primeiro campo de te2to escol6endo o item $Kncular- ap:s- 1e2t
5. ,a op)+o %:digo-fonte de "incula)+o selecione tabela (o nome da nossa 1abela)
8. #m #2press+o de "incula)+o na"egue at/ selected#lement e escol6a o subitem nome
;. Bepita esses passos para o segundo campo de te2to- mas agora selecione o subitem telefone
#2ecute o pro(eto e "erifi!ue !ue ao selecionar algum item da 1abela- os campos de te2to s+o preenc6idos
automaticamente.
$amos criar as funcionalidades dos bot*es. 1emos tr?s bot*es:
. primeiro ser respons"el por criar um no"o registro.
. segundo sal"ar nossa 0ist.
. terceiro ser respons"el por e2cluir algum contato.
9ara os tr?s bot*es- definiremos a)*es distintas. . processo ser o mesmo- apenas alterando o nome da a)+o.
Marcus Becker - contato: meumundojava@gmail.com
Criando a-es:
4. %li!ue com o bot+o direito sobre o primeiro bot+o
5. Selecione o item &efinir a)+o...
8. ,a cai2a de sele)+o 7)+o selecione %riar no"a a)+o
;. ,o M/todo da a)+o digite novo (no"o ser o nome do m/todo)
<. #m 7tributos- aba Bsico- item 1e2to digite ,o"o (#sse ,o"o ser o te2to do bot+o)
=. 3uando clicar em .L- "oc? ir para o no"o m/todo criado no %:digo-fonte. $olte para o modo 9ro(eto
M. Bepita os passos para os outros bot*es seguindo o mesmo padr+o (salvar- Sal"ar e excluir- #2cluir)
,+o iremos focar no c:digo dos bot*es- ( !ue estamos mesmo interessados no ,etBeans e sua facilidade de
desen"ol"imento. Mas (unto com o tutorial segue o pro(eto !ue pode ser aberto pelo ,etBeans e o aplicati"o
funcional (pasta dist).