Você está na página 1de 8

Modelo de Eventos do Java Swing/AWT

Prof. Maurcio Nacib Pontuschka


14 de junho de 2006
Exerccio 1
Construa a tela
Utilizando os objetos:
tela :JFrame
painel :JPanel
botao :JButton
1 forma:
Utilizando um objeto searado da classe da alica!"o ara a #anela $#%rame&
import javax.swing.*;
import java.awt.*;
public class TesteAcao{
public static void main(String args[]{
!!"eclara#$o %os objetos gr&'icos
JFrame tela ( new JFrame("Teste Ao";
JPanel painel ( new JPanel(;
JButton botao ( new JButton("Ao";
!!)on'igura#$o %os objetos gr&'icos
!!painel:JPanel
painel.setLayout(new Flow*a+out(;
painel.add(botao;
!!tela:JFrame
tela.set)ontentPane(painel;
tela.set,i-e(./0120;
tela.set3isible(true;
}
}
2 forma:
Utilizando um objeto 'nico ara a alica!"o e ara a #anela $(este)cao um #%rame&
import javax.swing.*;
import java.awt.*;
public class TesteAcao extends JFrame{
public static void main(String args[]{
!!"eclara#$o %os objetos gr&'icos
TesteAcao t ( new TesteAcao(;
JPanel painel ( new JPanel(;
JButton botao ( new JButton("Ao";
!!)on'igura#$o %os objetos gr&'icos
!!painel:JPanel
painel.setLayout(new Flow*a+out(;
painel.add(botao;
!!tela:JFrame
t.setTitle("Teste Ao";
t.set)ontentPane(painel;
t.set,i-e(./0120;
t.set3isible(true;
}
}
Exerccio 2
Ativar um mtodo no momento em que o usurio clica no boto
Criar um objeto ouvidor (*+istener,)
$ao clicar no bot"o a mensa-em abai.o aarecer/&
1 forma:
Utilizando um objeto searado da classe da alica!"o ara ser o ou0idor de e0entos da
janela $)ction+istener&
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TesteAcao extends JFrame4
public static void main(String args564
!!"eclara#$o %os objetos gr&'icos
TesteAcao t ( new TesteAcao(;
JPanel painel ( new JPanel(;
JButton botao ( new JButton(7A#$o7;
8uvi%or ouvi%or ( new 8uvi%or(t;
!!)on'igura#$o %os objetos gr&'icos
!!botao:JButton
botao.a%%Action*istener(ouvi%or;
!!painel:JPanel
painel.set*a+out(new Flow*a+out(;
painel.a%%(botao;
!!tela:JFrame
t.setTitle(7Teste A#$o7;
t.set)ontentPane(painel;
t.set,i-e(./0120;
t.set3isible(true;
9
9
import javax.swing.*;
import java.awt.event.*;
public class 8uvi%or implements Action*istener4
JFrame 'rame;
public 8uvi%or(JFrame 'rame4
tis.'rame ( 'rame;
9
public void actionPer'orme%(Action:vent e4
J8ptionPane.s;ow<essage"ialog('rame17<ensagem717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9
9
2 forma:
Utilizando o r1rio objeto da classe da alica!"o ara ser o ou0idor de e0entos da
janela $)ction+istener&
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TesteAcao extends JFrame implements Action*istener4
public static void main(String args564
!!"eclara#$o %os objetos gr&'icos
TesteAcao t ( new TesteAcao(;
JPanel painel ( new JPanel(;
JButton botao ( new JButton(7A#$o7;
!!)on'igura#$o %os objetos gr&'icos
!!botao:JButton
botao.a%%Action*istener(t;
!!painel:JPanel
painel.set*a+out(new Flow*a+out(;
painel.a%%(botao;
!!tela:JFrame
t.setTitle(7Teste A#$o7;
t.set)ontentPane(painel;
t.set,i-e(./0120;
t.set3isible(true;
9
public void actionPer'orme%(Action:vent e4
J8ptionPane.s;ow<essage"ialog(t;is17<ensagem717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9
9
Exerccio 3
Incluindo um novo boto na tela
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TesteAcaoB extends JFrame implements Action*istener4
public static void main(String args564
!!"eclara#$o %os objetos gr&'icos
TesteAcaoB t ( new TesteAcaoB(;
JPanel painel ( new JPanel(;
JButton b. ( new JButton(7A#$o .7;
JButton bB ( new JButton(7A#$o B7;
!!)on'igura#$o %os objetos gr&'icos
!!b.:JButton
b..a%%Action*istener(t;
!!bB:JButton
bB.a%%Action*istener(t;
!!painel:JPanel
painel.set*a+out(new Flow*a+out(;
painel.a%%(b.;
painel.a%%(bB;
!!tela:JFrame
t.setTitle(7Teste A#$o7;
t.set)ontentPane(painel;
t.set,i-e(./01.00;
t.set3isible(true;
9
public void actionPer'orme%(Action:vent e4
J8ptionPane.s;ow<essage"ialog(t;is17<ensagem717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9
9
Exerccio 4
Identificando o boto pressionado atravs do seu teto

Cada boto pressionado leva consi!o a mensa!em escrita no boto
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TesteAcaoC extends JFrame implements Action*istener4
public static void main(String args564
!!"eclara#$o %os objetos gr&'icos
TesteAcaoC t ( new TesteAcaoC(;
JPanel painel ( new JPanel(;
JButton b. ( new JButton(7A#$o .7;
JButton bB ( new JButton(7A#$o B7;
!!)on'igura#$o %os objetos gr&'icos
!!b.:JButton
b..a%%Action*istener(t;
!!bB:JButton
bB.a%%Action*istener(t;
!!painel:JPanel
painel.set*a+out(new Flow*a+out(;
painel.a%%(b.;
painel.a%%(bB;
!!tela:JFrame
t.setTitle(7Teste A#$o7;
t.set)ontentPane(painel;
t.set,i-e(./01.00;
t.set3isible(true;
9
public void actionPer'orme%(Action:vent e4
J8ptionPane.s;ow<essage"ialog(tis1
7<ensagem: (7De.getAction)omman%(D7717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9
9
Exerccio 5
Identificando o boto pressionado atravs da refer"ncia dos objetos de tela# $ste tipo de
diferencia%o mais eficaz uma vez que mesmo que os bot&es ten'am o mesmo teto o
soft(are conse!ue identificar qual deles foi acionado#
)o eemplo* os nomes dos bot&es so diferentes* mas a diferencia%o ainda seria
poss+vel mesmo que os nomes fossem i!uais#
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TesteAcaoE extends JFrame implements Action*istener4
private JButton b.;
private JButton bB;
public static void main(String args564
!!"eclara#$o %os objetos gr&'icos
TesteAcaoE t ( new TesteAcaoE(;
JPanel painel ( new JPanel(;
t.b. ( new JButton(7A#$o .7;
t.bB ( new JButton(7A#$o B7;
!!)on'igura#$o %os objetos gr&'icos
!!b.:JButton
t.b..a%%Action*istener(t;
!!bB:JButton
t.bB.a%%Action*istener(t;
!!painel:JPanel
painel.set*a+out(new Flow*a+out(;
painel.a%%(t.b.;
painel.a%%(t.bB;
!!tela:JFrame
t.setTitle(7Teste A#$o7;
t.set)ontentPane(painel;
t.set,i-e(./01.00;
t.set3isible(true;
9
public void actionPer'orme%(Action:vent e4
i! (e.get,ource(((b.4
J8ptionPane.s;ow<essage"ialog(tis1
7Bot$o . pressiona%o717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9 else i! (e.get,ource(((bB4
J8ptionPane.s;ow<essage"ialog(t;is1
7Bot$o B pressiona%o717A#$o71
J8ptionPane.=>F8?<AT=8>@<:,,AA:;
9
9
9

Você também pode gostar