Tutorialjavaswing 130324131513 Phpapp02

Você também pode gostar

Você está na página 1de 22

Um Tutorial sobre Programacao Grafica em Java

Java Swing

Marcos Yuzuru de Oliveira Camada


mcamada@das.ufsc.br
Universidade Federal de Santa Catarina (UFSC)
Programa de P
os-Graduac
ao em Engenharia de Automac
ao e Sistemas (PGEAS)

31 de Marco de 2008

Objetivos

Construir uma aplicacao grafica com elementos basicos do


Swing;

Objetivos

Construir uma aplicacao grafica com elementos basicos do


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 maquina virtual java e interface grafica;

Baseado no Abstract Window Toolkit (AWT). Introduzido no


Java 1.0;

Capaz de executar na maioria das arquiteturas operacionais


que apresente a maquina virtual java e interface grafica;

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 maquina virtual java e interface grafica;

Elaborado pela Sun junto com a Netscape (IFC - Internet


Foundation Classes);

Faz parte do Java Foundation Classes (JFC). O JFC, alem do


Swing, 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 escuta


de eventos
1
2

package j a n e l a ;
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 metodo construtor
1
2
3
4

public class
private
private
private

S i m p l e s J a n e l a e x t e n d s JFrame {
int largura ;
int altura ;
String titulo ;

5
6

7
8
9
10
11
12
13
14

15
16
17

public SimplesJanela ( int largura , int altura ,


String titulo ) {
this . largura = largura ;
this . altura = altura ;
this . setSize ( largura , altura ) ;
this . titulo = titulo ;
t h i s . setName ( t i t u l o ) ;
this . setTitle ( titulo ) ;
// Tratamento do e v e n t o de f e c h a r j a n e l a
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 ) ;
// J a n e l a pode s e r r e d i m e n s i o n a d a
t h i s . s e t R e s i z a b l e ( true ) ;
}

Passo 1: Construir uma Janela

Algoritmo 3: Definindo campos do formulario


1
2

...
pr iv at e Container area = t h i s . getContentPane () ;

3
4
5
6
7
8

rio
// Campos do F o r m u l A
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 ( ) ;
...
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 " ) ;
...

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

GridBag ;

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

GridBag ;

Box;

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

GridBag ;

Box;

Flow ;

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

GridBag ;

Box;

Flow ;

Spring ;

Passo 2: Definindo o Gerenciador de Layout

Tipos de Layout:
I

Border ;

GridBag ;

Box;

Flow ;

Spring ;

Grid.

Passo 2: Definindo o Gerenciador de Layout

Algoritmo 4: Estabelece layout da janela.


1
2
3

private void carregaElementosFormulario () {


// D e f i n i n d o t i p o de l a y o u t
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 ) ) ;

this
this
...
this
this

5
6
7
8
9
10

. a r e a . add ( new J L a b e l ( " Nome :" ) ) ;


. a r e a . add ( nome ) ;
. jbCancelar . addActionListener ( this ) ;
. a r e a . add ( j b C a n c e l a r ) ;

Passo 3: Tratar os eventos gerado pelo usuario

Algoritmo 5: Tratamento de eventos.


1
2
3
4
5
6

public void actionPerformed ( ActionEvent event ) {


i f ( event . getSource () . equals ( jbCadastrar ) ){
...
}
...
}

Passo 4: Instanciar a Janela

Algoritmo 6: Instanciando a janela


1
2

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 ) {
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
() {

p u b l i c void run ( ) {
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 " ) ;
janela . carregaJanela () ;
}

4
5

6
7

}) ;

8
9

Uma Simples Janela

Figura: Cadastro de Proprietario

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/

Você também pode gostar