Um Tutorial sobre Programa c~ ao Gr aca em Java

slimwhimperSoftware and s/w Development

Nov 3, 2013 (3 years and 8 months ago)

56 views

Um Tutorial sobre Programac~ao Graca em Java
Java Swing
Marcos Yuzuru de Oliveira Camada
mcamada@das.ufsc.br
Universidade Federal de Santa Catarina (UFSC)
Programa de Pos-Graduac~ao em Engenharia de Automac~ao e Sistemas (PGEAS)
31 de Marco de 2008
Objetivos
I
Construir uma aplicac~ao graca com elementos basicos do
Swing;
I
Programar o tratamento de eventos.
Objetivos
I
Construir uma aplicac~ao graca com elementos basicos do
Swing;
I
Programar o tratamento de eventos.
I
Baseado no Abstract Window Toolkit (AWT).Introduzido no
Java 1.0;
I
Capaz de executar na maioria das arquiteturas operacionais
que apresente a maquina virtual java e interface graca;
I
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
I
Faz parte do Java Foundation Classes (JFC).O JFC,alem do
Swing,contem API de acessibilidade,API 2D,etc.
I
Baseado no Abstract Window Toolkit (AWT).Introduzido no
Java 1.0;
I
Capaz de executar na maioria das arquiteturas operacionais
que apresente a maquina virtual java e interface graca;
I
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
I
Faz parte do Java Foundation Classes (JFC).O JFC,alem do
Swing,contem API de acessibilidade,API 2D,etc.
I
Baseado no Abstract Window Toolkit (AWT).Introduzido no
Java 1.0;
I
Capaz de executar na maioria das arquiteturas operacionais
que apresente a maquina virtual java e interface graca;
I
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
I
Faz parte do Java Foundation Classes (JFC).O JFC,alem do
Swing,contem API de acessibilidade,API 2D,etc.
I
Baseado no Abstract Window Toolkit (AWT).Introduzido no
Java 1.0;
I
Capaz de executar na maioria das arquiteturas operacionais
que apresente a maquina virtual java e interface graca;
I
Elaborado pela Sun junto com a Netscape (IFC - Internet
Foundation Classes);
I
Faz parte do Java Foundation Classes (JFC).O JFC,alem do
Swing,contem 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 escuta
de eventos
1 package j a ne l a;
2 i mport j avax.swi ng.JFrame;
3
4 publ i c cl as s Si mpl es Janel a extends JFrame i mpl ements
Ac t i onLi s t e ne r fg
Passo 1:Construir uma Janela
Algoritmo 2:Denindo atributos e o metodo construtor
1 publ i c cl as s Si mpl es Janel a extends JFramef
2 pr i vat e i nt l a r gur a;
3 pr i vat e i nt a l t ur a;
4 pr i vat e St r i ng t i t u l o;
5
6 publ i c Si mpl es Janel a ( i nt l ar gur a,i nt al t ur a,
St r i ng t i t u l o ) f
7 t hi s.l a r gur a = l a r gur a;
8 t hi s.a l t ur a = a l t ur a;
9 t hi s.s e t Si z e ( l ar gur a,a l t ur a );
10 t hi s.t i t u l o = t i t u l o;
11 t hi s.setName ( t i t u l o );
12 t hi s.s e t Ti t l e ( t i t u l o );
13//Tratamento do event o de f e c har j a ne l a
14 t hi s.s e t De f aul t Cl os e Ope r at i on ( JFrame.
EXIT
ON
CLOSE);
15//Janel a pode s e r r edi mens i onada
16 t hi s.s e t Re s i z a bl e ( true );
17 g
Passo 1:Construir uma Janela
Algoritmo 3:Denindo campos do formulario
1...
2 pr i vat e Cont ai ner ar ea = t hi s.getContentPane ( );
3
4//Campos do For mul
~
A< r i o
5 pr i vat e JText Fi el d nome = new JText Fi el d ( );
6...
7 pr i vat e JButton j bCanc e l ar = new JButton ("Cancelar");
8...
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Tipos de Layout:
I
Border;
I
GridBag;
I
Box;
I
Flow;
I
Spring;
I
Grid.
Passo 2:Denindo o Gerenciador de Layout
Algoritmo 4:Estabelece layout da janela.
1 pr i vat e voi d car r egaEl ement os For mul ar i o ( ) f
2//Def i ni ndo t i po de l ayout
3 t hi s.ar ea.s et Layout (new Gr i dLayout ( 4,2) );
4
5 t hi s.ar ea.add (new JLabel ("Nome:") );
6 t hi s.ar ea.add ( nome);
7...
8 t hi s.j bCanc e l ar.addAc t i onLi s t e ne r ( t hi s );
9 t hi s.ar ea.add ( j bCanc e l ar );
10 g
Passo 3:Tratar os eventos gerado pelo usuario
Algoritmo 5:Tratamento de eventos.
1 publ i c voi d act i onPer f or med ( Act i onEvent event ) f
2 i f ( event.get Sour ce ( ).equal s ( j bCadas t r ar ) ) f
3...
4 g
5...
6 g
Passo 4:Instanciar a Janela
Algoritmo 6:Instanciando a janela
1 publ i c s t at i c voi d main ( St r i ng [ ] ar gs ) f
2 j avax.swi ng.Swi n g Ut i l i t i e s.i nvoke Lat e r (new Runnabl e
( ) f
3
4 publ i c voi d run ( ) f
5 Si mpl es Janel a j a ne l a = new Si mpl es Janel a
(400,300,"Janela de Teste");
6 j a ne l a.c ar r e gaJane l a ( );
7 g
8 g);
9 g
Uma Simples Janela
Figura:Cadastro de Proprietario
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/