SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Um Tutorial sobre Programa¸˜o Gr´fica em Java
                          ca    a
                             Java Swing


               Marcos Yuzuru de Oliveira Camada
                    mcamada@das.ufsc.br

               Universidade Federal de Santa Catarina (UFSC)
Programa de P´s-Gradua¸˜o em Engenharia de Automa¸˜o e Sistemas (PGEAS)
             o          ca                           ca


                       31 de Mar¸o de 2008
                                c
Objetivos




      Construir uma aplica¸˜o gr´fica com elementos b´sicos do
                          ca    a                   a
      Swing;
Objetivos




      Construir uma aplica¸˜o gr´fica com elementos b´sicos do
                          ca    a                   a
      Swing;
      Programar o tratamento de eventos.
Baseado no Abstract Window Toolkit (AWT). Introduzido no
Java 1.0;
Baseado no Abstract Window Toolkit (AWT). Introduzido no
Java 1.0;
Capaz de executar na maioria das arquiteturas operacionais
que apresente a m´quina virtual java e interface gr´fica;
                 a                                 a
Baseado no Abstract Window Toolkit (AWT). Introduzido no
Java 1.0;
Capaz de executar na maioria das arquiteturas operacionais
que apresente a m´quina virtual java e interface gr´fica;
                 a                                 a
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
Baseado no Abstract Window Toolkit (AWT). Introduzido no
Java 1.0;
Capaz de executar na maioria das arquiteturas operacionais
que apresente a m´quina virtual java e interface gr´fica;
                 a                                 a
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
Faz parte do Java Foundation Classes (JFC). O JFC, al´m do
                                                     e
Swing, cont´m API de acessibilidade, API 2D, etc.
           e
Modelo das Classes




               Figura: Hierarquia da Classe JFrame
Passo 1: Construir uma Janela




     Algoritmo 1: Estendendo classe JFrame e implementando a escuta
     de eventos
 1   package j a n e l a ;
 2   import j a v a x . s w i n g . JFrame ;
 3
 4   p u b l i c c l a s s S i m p l e s J a n e l a e x t e n d s JFrame implements
           A c t i o n L i s t e n e r {}
Passo 1: Construir uma Janela
         Algoritmo 2: Definindo atributos e o m´todo construtor
                                              e
 1   public class      S i m p l e s J a n e l a e x t e n d s JFrame {
 2       private      int largura ;
 3       private      int altura ;
 4       private      String titulo ;
 5
 6       public SimplesJanela ( int largura , int altura ,
            String titulo ) {
 7           this . largura = largura ;
 8           this . altura = altura ;
 9           this . setSize ( largura , altura ) ;
10           this . titulo = titulo ;
11           t h i s . setName ( t i t u l o ) ;
12           this . setTitle ( titulo ) ;
13           // Tratamento do e v e n t o de f e c h a r j a n e l a
14           t h i s . s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame .
                    EXIT ON CLOSE ) ;
15           // J a n e l a pode s e r r e d i m e n s i o n a d a
16           t h i s . s e t R e s i z a b l e ( true ) ;
17       }
Passo 1: Construir uma Janela



                   Algoritmo 3: Definindo campos do formul´rio
                                                         a
 1   ...
 2   pr iv at e Container area = t h i s . getContentPane () ;
 3
 4   // Campos do F o r m u l A ¡ r i o ˜
 5   p r i v a t e J T e x t F i e l d nome = new J T e x t F i e l d ( ) ;
 6   ...
 7   p r i v a t e J B u t t o n j b C a n c e l a r = new J B u t t o n ( " Cancelar " ) ;
 8   ...
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
       GridBag ;
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
       GridBag ;
       Box;
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
       GridBag ;
       Box;
       Flow ;
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
       GridBag ;
       Box;
       Flow ;
       Spring ;
Passo 2: Definindo o Gerenciador de Layout



   Tipos de Layout:
       Border ;
       GridBag ;
       Box;
       Flow ;
       Spring ;
       Grid.
Passo 2: Definindo o Gerenciador de Layout



                       Algoritmo 4: Estabelece layout da janela.
 1   private void carregaElementosFormulario () {
 2       // D e f i n i n d o t i p o de l a y o u t
 3       t h i s . a r e a . s e t L a y o u t ( new G r i d L a y o u t ( 4 , 2 ) ) ;
 4
 5          this   . a r e a . add ( new J L a b e l ( " Nome :" ) ) ;
 6          this   . a r e a . add ( nome ) ;
 7          ...
 8          this   . jbCancelar . addActionListener ( this ) ;
 9          this   . a r e a . add ( j b C a n c e l a r ) ;
10   }
Passo 3: Tratar os eventos gerado pelo usu´rio
                                          a




                   Algoritmo 5: Tratamento de eventos.
 1   public void actionPerformed ( ActionEvent event ) {
 2       i f ( event . getSource () . equals ( jbCadastrar ) ){
 3       ...
 4       }
 5       ...
 6   }
Passo 4: Instanciar a Janela



                              Algoritmo 6: Instanciando a janela
 1   p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
 2           j a v a x . s w i n g . S w i n g U t i l i t i e s . i n v o k e L a t e r ( new R u n n a b l e
                    () {
 3
 4                  p u b l i c void run ( ) {
 5                          S i m p l e s J a n e l a j a n e l a = new S i m p l e s J a n e l a
                                  ( 4 0 0 , 3 0 0 , " Janela de Teste " ) ;
 6                          janela . carregaJanela () ;
 7                  }
 8          }) ;
 9   }
Uma Simples Janela




                Figura: Cadastro de Propriet´rio
                                            a
Core Java 2 Volume 1 Fundamentos
Cay S. Horstmann and Gary Cornell
Prentice Hall PTR
ISBN 0-13-047177-1
agosto, 2002


Site: http://java.sun.com/developer/onlineTraining/GUI/

Mais conteúdo relacionado

Mais procurados

Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções javaAntonio Oliveira
 
Introdução a programação II
Introdução a programação IIIntrodução a programação II
Introdução a programação IIClerton Leal
 
RxJava - Programação assíncrona para Android.
RxJava - Programação assíncrona para Android.RxJava - Programação assíncrona para Android.
RxJava - Programação assíncrona para Android.Clerton Leal
 
Dagger 2 Injeção de dependências no mundo Android
Dagger 2 Injeção de dependências no mundo AndroidDagger 2 Injeção de dependências no mundo Android
Dagger 2 Injeção de dependências no mundo AndroidClerton Leal
 
Estratégias de Refatoração: além do be-a-bá
Estratégias de Refatoração: além do be-a-báEstratégias de Refatoração: além do be-a-bá
Estratégias de Refatoração: além do be-a-báDanilo Sato
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPEvandro Júnior
 
Introdução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitIntrodução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitelliando dias
 
Funcionamento interno do node.js e boas práticas
Funcionamento interno do node.js e boas práticasFuncionamento interno do node.js e boas práticas
Funcionamento interno do node.js e boas práticasKirmayr tomaz
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
 
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoRuby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoWeverton Timoteo
 
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...Weverton Timoteo
 

Mais procurados (20)

Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Introdução a programação II
Introdução a programação IIIntrodução a programação II
Introdução a programação II
 
RxJava - Programação assíncrona para Android.
RxJava - Programação assíncrona para Android.RxJava - Programação assíncrona para Android.
RxJava - Programação assíncrona para Android.
 
Java hidden features
Java hidden featuresJava hidden features
Java hidden features
 
Dagger 2 Injeção de dependências no mundo Android
Dagger 2 Injeção de dependências no mundo AndroidDagger 2 Injeção de dependências no mundo Android
Dagger 2 Injeção de dependências no mundo Android
 
Estratégias de Refatoração: além do be-a-bá
Estratégias de Refatoração: além do be-a-báEstratégias de Refatoração: além do be-a-bá
Estratégias de Refatoração: além do be-a-bá
 
Por que sua próxima aplicação web deve ser em Clojure?
Por que sua próxima aplicação web deve ser em Clojure?Por que sua próxima aplicação web deve ser em Clojure?
Por que sua próxima aplicação web deve ser em Clojure?
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHP
 
Introdução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnitIntrodução a testes unitários automatizados com JUnit e NUnit
Introdução a testes unitários automatizados com JUnit e NUnit
 
Funcionamento interno do node.js e boas práticas
Funcionamento interno do node.js e boas práticasFuncionamento interno do node.js e boas práticas
Funcionamento interno do node.js e boas práticas
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
 
Basico dovba excel_tutorial1
Basico dovba excel_tutorial1Basico dovba excel_tutorial1
Basico dovba excel_tutorial1
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Clean code part 2
Clean code   part 2Clean code   part 2
Clean code part 2
 
Event-based Asynchronous Pattern (EAP)
Event-based Asynchronous Pattern (EAP)Event-based Asynchronous Pattern (EAP)
Event-based Asynchronous Pattern (EAP)
 
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoRuby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
 
Android Logcat
Android LogcatAndroid Logcat
Android Logcat
 
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 

Destaque

Destaque (20)

Introdução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUGIntrodução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUG
 
Introdução à Orientação a Objeto em Java
Introdução à Orientação a Objeto em JavaIntrodução à Orientação a Objeto em Java
Introdução à Orientação a Objeto em Java
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
 
Java 04
Java 04Java 04
Java 04
 
Desenvolvimento de Aplicações Corporativas com Java
Desenvolvimento de Aplicações Corporativas com JavaDesenvolvimento de Aplicações Corporativas com Java
Desenvolvimento de Aplicações Corporativas com Java
 
Netbeans
NetbeansNetbeans
Netbeans
 
Java20141218 19
Java20141218 19Java20141218 19
Java20141218 19
 
Automação comercial
Automação comercialAutomação comercial
Automação comercial
 
Tomorrow Java
Tomorrow JavaTomorrow Java
Tomorrow Java
 
Transformações de Views
Transformações de ViewsTransformações de Views
Transformações de Views
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
JDBC
JDBCJDBC
JDBC
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
 
Java JDBC: Aplicação Java que acessa um SGDB
Java JDBC: Aplicação Java que acessa um SGDBJava JDBC: Aplicação Java que acessa um SGDB
Java JDBC: Aplicação Java que acessa um SGDB
 
Java gui
Java guiJava gui
Java gui
 
Conexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao AjaxConexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao Ajax
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 

Semelhante a Tutorial java swing

Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Utiizando o Celular no Apoio à Gerência de configuração
Utiizando o Celular no Apoio à Gerência de configuraçãoUtiizando o Celular no Apoio à Gerência de configuração
Utiizando o Celular no Apoio à Gerência de configuraçãoJaguaraci Silva
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Vanderson Silva
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02thomasdacosta
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1Sliedesharessbarbosa
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataRicardo Schuch
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 

Semelhante a Tutorial java swing (20)

Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java1
Java1Java1
Java1
 
Java para iniciantes
Java para iniciantesJava para iniciantes
Java para iniciantes
 
Utiizando o Celular no Apoio à Gerência de configuração
Utiizando o Celular no Apoio à Gerência de configuraçãoUtiizando o Celular no Apoio à Gerência de configuração
Utiizando o Celular no Apoio à Gerência de configuração
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Java3
Java3Java3
Java3
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3
 
Algoritmos Aula 03
Algoritmos Aula 03Algoritmos Aula 03
Algoritmos Aula 03
 
Power mock
Power mockPower mock
Power mock
 
Curso de java 02
Curso de java 02Curso de java 02
Curso de java 02
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 

Tutorial java swing

  • 1. Um Tutorial sobre Programa¸˜o Gr´fica em Java ca a Java Swing Marcos Yuzuru de Oliveira Camada mcamada@das.ufsc.br Universidade Federal de Santa Catarina (UFSC) Programa de P´s-Gradua¸˜o em Engenharia de Automa¸˜o e Sistemas (PGEAS) o ca ca 31 de Mar¸o de 2008 c
  • 2. Objetivos Construir uma aplica¸˜o gr´fica com elementos b´sicos do ca a a Swing;
  • 3. Objetivos Construir uma aplica¸˜o gr´fica com elementos b´sicos do ca a a Swing; Programar o tratamento de eventos.
  • 4. Baseado no Abstract Window Toolkit (AWT). Introduzido no Java 1.0;
  • 5. Baseado no Abstract Window Toolkit (AWT). Introduzido no Java 1.0; Capaz de executar na maioria das arquiteturas operacionais que apresente a m´quina virtual java e interface gr´fica; a a
  • 6. Baseado no Abstract Window Toolkit (AWT). Introduzido no Java 1.0; Capaz de executar na maioria das arquiteturas operacionais que apresente a m´quina virtual java e interface gr´fica; a a Elaborado pela Sun junto com a Netscape (IFC - Internet Foundation Classes);
  • 7. Baseado no Abstract Window Toolkit (AWT). Introduzido no Java 1.0; Capaz de executar na maioria das arquiteturas operacionais que apresente a m´quina virtual java e interface gr´fica; a a Elaborado pela Sun junto com a Netscape (IFC - Internet Foundation Classes); Faz parte do Java Foundation Classes (JFC). O JFC, al´m do e Swing, cont´m API de acessibilidade, API 2D, etc. e
  • 8. Modelo das Classes Figura: Hierarquia da Classe JFrame
  • 9. Passo 1: Construir uma Janela Algoritmo 1: Estendendo classe JFrame e implementando a escuta de eventos 1 package j a n e l a ; 2 import j a v a x . s w i n g . JFrame ; 3 4 p u b l i c c l a s s S i m p l e s J a n e l a e x t e n d s JFrame implements A c t i o n L i s t e n e r {}
  • 10. Passo 1: Construir uma Janela Algoritmo 2: Definindo atributos e o m´todo construtor e 1 public class S i m p l e s J a n e l a e x t e n d s JFrame { 2 private int largura ; 3 private int altura ; 4 private String titulo ; 5 6 public SimplesJanela ( int largura , int altura , String titulo ) { 7 this . largura = largura ; 8 this . altura = altura ; 9 this . setSize ( largura , altura ) ; 10 this . titulo = titulo ; 11 t h i s . setName ( t i t u l o ) ; 12 this . setTitle ( titulo ) ; 13 // Tratamento do e v e n t o de f e c h a r j a n e l a 14 t h i s . s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame . EXIT ON CLOSE ) ; 15 // J a n e l a pode s e r r e d i m e n s i o n a d a 16 t h i s . s e t R e s i z a b l e ( true ) ; 17 }
  • 11. Passo 1: Construir uma Janela Algoritmo 3: Definindo campos do formul´rio a 1 ... 2 pr iv at e Container area = t h i s . getContentPane () ; 3 4 // Campos do F o r m u l A ¡ r i o ˜ 5 p r i v a t e J T e x t F i e l d nome = new J T e x t F i e l d ( ) ; 6 ... 7 p r i v a t e J B u t t o n j b C a n c e l a r = new J B u t t o n ( " Cancelar " ) ; 8 ...
  • 12. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ;
  • 13. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ; GridBag ;
  • 14. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ; GridBag ; Box;
  • 15. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ; GridBag ; Box; Flow ;
  • 16. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ; GridBag ; Box; Flow ; Spring ;
  • 17. Passo 2: Definindo o Gerenciador de Layout Tipos de Layout: Border ; GridBag ; Box; Flow ; Spring ; Grid.
  • 18. Passo 2: Definindo o Gerenciador de Layout Algoritmo 4: Estabelece layout da janela. 1 private void carregaElementosFormulario () { 2 // D e f i n i n d o t i p o de l a y o u t 3 t h i s . a r e a . s e t L a y o u t ( new G r i d L a y o u t ( 4 , 2 ) ) ; 4 5 this . a r e a . add ( new J L a b e l ( " Nome :" ) ) ; 6 this . a r e a . add ( nome ) ; 7 ... 8 this . jbCancelar . addActionListener ( this ) ; 9 this . a r e a . add ( j b C a n c e l a r ) ; 10 }
  • 19. Passo 3: Tratar os eventos gerado pelo usu´rio a Algoritmo 5: Tratamento de eventos. 1 public void actionPerformed ( ActionEvent event ) { 2 i f ( event . getSource () . equals ( jbCadastrar ) ){ 3 ... 4 } 5 ... 6 }
  • 20. Passo 4: Instanciar a Janela Algoritmo 6: Instanciando a janela 1 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 2 j a v a x . s w i n g . S w i n g U t i l i t i e s . i n v o k e L a t e r ( new R u n n a b l e () { 3 4 p u b l i c void run ( ) { 5 S i m p l e s J a n e l a j a n e l a = new S i m p l e s J a n e l a ( 4 0 0 , 3 0 0 , " Janela de Teste " ) ; 6 janela . carregaJanela () ; 7 } 8 }) ; 9 }
  • 21. Uma Simples Janela Figura: Cadastro de Propriet´rio a
  • 22. Core Java 2 Volume 1 Fundamentos Cay S. Horstmann and Gary Cornell Prentice Hall PTR ISBN 0-13-047177-1 agosto, 2002 Site: http://java.sun.com/developer/onlineTraining/GUI/