tutorial java swing
TRANSCRIPT
Um Tutorial sobre Programacao Grafica em JavaJava Swing
Marcos Yuzuru de Oliveira [email protected]
Universidade Federal de Santa Catarina (UFSC)Programa de Pos-Graduacao em Engenharia de Automacao e Sistemas (PGEAS)
31 de Marco de 2008
Objetivos
I Construir uma aplicacao grafica com elementos basicos doSwing;
I Programar o tratamento de eventos.
Objetivos
I Construir uma aplicacao grafica com elementos basicos doSwing;
I Programar o tratamento de eventos.
I Baseado no Abstract Window Toolkit (AWT). Introduzido noJava 1.0;
I Capaz de executar na maioria das arquiteturas operacionaisque apresente a maquina virtual java e interface grafica;
I Elaborado pela Sun junto com a Netscape (IFC - InternetFoundation Classes);
I Faz parte do Java Foundation Classes (JFC). O JFC, alem doSwing, contem API de acessibilidade, API 2D, etc.
I Baseado no Abstract Window Toolkit (AWT). Introduzido noJava 1.0;
I Capaz de executar na maioria das arquiteturas operacionaisque apresente a maquina virtual java e interface grafica;
I Elaborado pela Sun junto com a Netscape (IFC - InternetFoundation Classes);
I Faz parte do Java Foundation Classes (JFC). O JFC, alem doSwing, contem API de acessibilidade, API 2D, etc.
I Baseado no Abstract Window Toolkit (AWT). Introduzido noJava 1.0;
I Capaz de executar na maioria das arquiteturas operacionaisque apresente a maquina virtual java e interface grafica;
I Elaborado pela Sun junto com a Netscape (IFC - InternetFoundation Classes);
I Faz parte do Java Foundation Classes (JFC). O JFC, alem doSwing, contem API de acessibilidade, API 2D, etc.
I Baseado no Abstract Window Toolkit (AWT). Introduzido noJava 1.0;
I Capaz de executar na maioria das arquiteturas operacionaisque apresente a maquina virtual java e interface grafica;
I Elaborado pela Sun junto com a Netscape (IFC - InternetFoundation Classes);
I Faz parte do Java Foundation Classes (JFC). O JFC, alem doSwing, contem API de acessibilidade, API 2D, etc.
Modelo das Classes
Figura: Hierarquia da Classe JFrame
Passo 1: Construir uma Janela
Algoritmo 1: Estendendo classe JFrame e implementando a escutade eventos
1 package j a n e l a ;2 import j a v a x . swing . JFrame ;3
4 pub l i c c l a s s S imp l e s J an e l a extends JFrame implementsAc t i o n L i s t e n e r {}
Passo 1: Construir uma Janela
Algoritmo 2: Definindo atributos e o metodo construtor
1 pub l i c c l a s s S imp l e s J an e l a extends JFrame{2 p r i v a t e i n t l a r g u r a ;3 p r i v a t e i n t a l t u r a ;4 p r i v a t e S t r i n g t i t u l o ;5
6 pub l i c S imp l e s J an e l a ( i n t l a r g u r a , i n t a l t u r a ,S t r i n g t i t u l o ) {
7 t h i s . l a r g u r a = l a r g u r a ;8 t h i s . a l t u r a = a l t u r a ;9 t h i s . s e t S i z e ( l a r g u r a , a l t u r a ) ;
10 t h i s . t i t u l o = t i t u l o ;11 t h i s . setName ( t i t u l o ) ;12 t h i s . s e t T i t l e ( t i t u l o ) ;13 // Tratamento do evento de f e c h a r j a n e l a14 t h i s . s e tD e f a u l t C l o s eOp e r a t i o n ( JFrame .
EXIT ON CLOSE) ;15 // Jane l a pode s e r r ed imens i onada16 t h i s . s e t R e s i z a b l e ( t rue ) ;17 }
Passo 1: Construir uma Janela
Algoritmo 3: Definindo campos do formulario
1 . . .2 p r i v a t e Con ta i n e r a r ea = t h i s . getContentPane ( ) ;3
4 // Campos do Fo rmu l A ¡ r i o5 p r i v a t e JTex tF i e l d nome = new JTex tF i e l d ( ) ;6 . . .7 p r i v a t e JButton j bCan c e l a r = new JButton ("Cancelar" ) ;8 . . .
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Tipos de Layout:
I Border ;
I GridBag ;
I Box ;
I Flow ;
I Spring ;
I Grid.
Passo 2: Definindo o Gerenciador de Layout
Algoritmo 4: Estabelece layout da janela.
1 p r i v a t e vo id c a r r e gaE l emen to sFo rmu l a r i o ( ) {2 // De f i n i ndo t i p o de l a y o u t3 t h i s . a r ea . s e tLayou t (new Gr idLayout (4 , 2 ) ) ;4
5 t h i s . a r ea . add (new JLabe l ("Nome:" ) ) ;6 t h i s . a r ea . add (nome) ;7 . . .8 t h i s . j bCan c e l a r . a d dAc t i o nL i s t e n e r ( t h i s ) ;9 t h i s . a r ea . add ( j bCan c e l a r ) ;
10 }
Passo 3: Tratar os eventos gerado pelo usuario
Algoritmo 5: Tratamento de eventos.
1 pub l i c vo id ac t i onPe r f o rmed ( Act ionEvent even t ) {2 i f ( even t . ge tSou rce ( ) . e q u a l s ( j bCad a s t r a r ) ) {3 . . .4 }5 . . .6 }
Passo 4: Instanciar a Janela
Algoritmo 6: Instanciando a janela
1 pub l i c s t a t i c vo id main ( S t r i n g [ ] a r g s ) {2 j a v a x . swing . S w i n g U t i l i t i e s . i n v o k eL a t e r (new Runnable
( ) {3
4 pub l i c vo id run ( ) {5 S imp l e s J an e l a j a n e l a = new S imp l e s J an e l a
(400 , 300 , "Janela de Teste" ) ;6 j a n e l a . c a r r e g a J a n e l a ( ) ;7 }8 }) ;9 }
Uma Simples Janela
Figura: Cadastro de Proprietario
Core Java 2 Volume 1 FundamentosCay S. Horstmann and Gary CornellPrentice Hall PTRISBN 0-13-047177-1agosto, 2002
Site: http://java.sun.com/developer/onlineTraining/GUI/