You are on page 1of 4

25/05/2015

::..SwingBeanFramework..::

Home
Download
PginadoProjeto
Tutorial
ComoFazer
ScreenShots
QuickReference
Forum
Contato

Apoio

Tutoriais
AbaixoseguemtutoriaisparaajudarnoaprendizadodoSwingBean.Cada
tutorialapresentaumexemploindependente,pormnoseentrarem
detalhesnasfuncionalidadesjexplicadasemtutoriaisanteriores.
1. CriandoumFormulrioSimples
2. CustomizandoumFormulrio
3. CarregandoInformaesemCombos
4. ComponentesAvanados(Breve)
5. InterferindonoFormulrio(Breve)
6. ValidaodeDados(Breve)
7. TrabalhandocomTabelas
8. RecuperandoDadosdeTabelas(Breve)
9. ValidandoDadosemTabelas(Breve)
10. FiltrandoDadosemTabelas(Breve)
11. TrabalhandocomTreeTables(Breve)
12. BindingdeBeans
13. BindingdeLista

CriandoumFormulrioSimples
OSwingBeanfeitoparaquesepossacriarformulriosetabelasapartir
deumbean.Naprtica,todoobjetoquepossuirmtodosgetterse
setterspodesercadastradoutilizandooSwingBean.Esteexemploir
criarumformulriosimplesemostrarcomoumobjetopodeser
recuperadodele.Parainiciaroexemplo,apresentoabaixoobean
Cachorro:
1packageorg.swingBean.example.simpleform;
2
3importjava.util.Date;
4
5publicclassCachorro{
6
7privateStringnome;
8privateStringraca;
9privateintnumeroCanil;
10privateDatedataDeNascimento;
11privatebooleantemPedigree;
12
13//MetodosGetterseSetters
14publicDategetDataDeNascimento(){
15returndataDeNascimento;
16}
17publicvoidsetDataDeNascimento(DatedataDeNascimento){
18this.dataDeNascimento=dataDeNascimento;
19}
20publicStringgetNome(){
21returnnome;
22}
23publicvoidsetNome(Stringnome){
24this.nome=nome;
25}
26publicintgetNumeroCanil(){
27returnnumeroCanil;
28}
29publicvoidsetNumeroCanil(intnumeroCanil){
http://swingbean.sourceforge.net/

1/4

25/05/2015

::..SwingBeanFramework..::

30this.numeroCanil=numeroCanil;
31}
32publicStringgetRaca(){
33returnraca;
34}
35publicvoidsetRaca(Stringraca){
36this.raca=raca;
37}
38publicbooleanisTemPedigree(){
39returntemPedigree;
40}
41publicvoidsetTemPedigree(booleantemPedigree){
42this.temPedigree=temPedigree;
43}
44
45}

Oformulriocriadoapartirdaspropriedadesdobeanapartirdeum
arquivoXML.Estearquivopossuicomorootoelemento
<beanDescriptor>quepossuiinternamentevrioselementosdotipo
<line>querepresentamaslinhasdoformulrio.Cadaelemento<line>
podepossuirvrioselementos<property>queiroapresentaras
propriedadesdobeanqueserorepresentadascomocomponentesno
formulrio.
Cadaelemento<property>devepossuiroatributonameparaidentificar
onomedapropriedade.Outrosatributospodemsercolocadospara
customizaroformulrioeoscomponentes,pormonicoapresentado
noexemploocomboList,querepresentaalistadevaloresdeum
combo.AbaixosegueoXMLdesteexemplo:
1<beanDescriptor>
2<line>
3<propertyname='nome'/>
4</line>
5<line>
6<propertyname='raca'comboList='Yorkshire;Beagle;Basset;Poodle'/>
7<propertyname='numeroCanil'/>
8</line>
9<line>
10<propertyname='dataDeNascimento'/>
11<propertyname='temPedigree'/>
12</line>
13</beanDescriptor>

Oformulriocriadocomoumnicograndecomponente,oJBeanPanel.
ParaacriaodoJBeanPanel,devesercriadoumGenericFieldDescriptor
apartirdoXML.Istoestrepresentadonaslinhasde23a29nalistagem
daclasseSimpleFormabaixo.OJBeanPanelentopodeseradicionado
comoumcomponente,conformeafeitonalinha55.
Nesteexemplo,umbotoutilizadoparaexibiroobjetodoformulrio.
Pararecuperarosdadosdoformulrio,bastacriarumobjetodotipo
CachorroechamaromtodopopulateBean(),conformealinha35.O
botofoicriadocomaclasseJActButton,querecebecomoparmetro
umainstnciadeApplicationAction,criadacomoinnerclassenalinha33.
Apartedeactionssertratadamaisafrente.
1packageorg.swingBean.example.simpleform;
2
3importjava.awt.BorderLayout;
4
5importjavax.swing.JFrame;
6importjavax.swing.JOptionPane;
7importjavax.swing.JPanel;
8importjavax.swing.JScrollPane;
9
10importorg.swingBean.actions.ApplicationAction;
11importorg.swingBean.descriptor.BeanTableModel;
12importorg.swingBean.descriptor.GenericFieldDescriptor;
http://swingbean.sourceforge.net/

2/4

25/05/2015

::..SwingBeanFramework..::

13importorg.swingBean.descriptor.TableFieldDescriptor;
14importorg.swingBean.descriptor.XMLDescriptorFactory;
15importorg.swingBean.gui.JActButton;
16importorg.swingBean.gui.JBeanPanel;
17importorg.swingBean.gui.JBeanTable;
18
19publicclassSimpleForm{
20
21publicstaticvoidmain(String[]args){
22//Criacomponentedeformulrio
23GenericFieldDescriptordescriptor=XMLDescriptorFactory
24.getFieldDescriptor(
25Cachorro.class,
26"org\\swingBean\\example\\simpleform\\cachorroForm.xml",
27"CachorroForm");
28finalJBeanPanel<Cachorro>panel=newJBeanPanel<Cachorro>(
29Cachorro.class,descriptor);
30
31JActButtonbotaoExibir=newJActButton("ExibirObjeto",
32newApplicationAction(){
33publicvoidexecute(){
34Cachorrocao=newCachorro();
35panel.populateBean(cao);
36StringBuilderbuilder=newStringBuilder();
37builder.append("Nome:"+cao.getNome()+"\n");
38builder.append("Raa:"+cao.getRaca()+"\n");
39builder.append("Canil:"+cao.getNumeroCanil()+"\n");
40builder.append("Nascimento:"
41+cao.getDataDeNascimento()+"\n");
42builder.append("Pedigree?"+cao.isTemPedigree());
43JOptionPane.showMessageDialog(panel,builder);
44}
45});
46
47JPanelpanelButton=newJPanel();
48panelButton.add(botaoExibir);
49
50//CriaFrameparaexibiodatela
51JFrameframe=newJFrame("ExemploSwingBeanSimpleForm");
52frame.setSize(600,220);
53frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
54frame.setLayout(newBorderLayout());
55frame.getContentPane().add(panel,BorderLayout.NORTH);
56frame.getContentPane().add(panelButton,BorderLayout.SOUTH);
57
58frame.setVisible(true);
59
60}
61
62}

Abaixoestumaimagemdatelaquefoigeradanoexemplo.Noteque
todoolayoutdoformulriofoigeradoautomaticamente.

Formulriogeradonoexemplo

http://swingbean.sourceforge.net/

3/4

25/05/2015

::..SwingBeanFramework..::

Mensagemexibidanocliquedoboto

http://swingbean.sourceforge.net/

4/4

You might also like