Você está na página 1de 10

Marcus Becker - contato: meumundojava@gmail.

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

Você também pode gostar