Está en la página 1de 17

Progromocion Orienfodo o Objefos Io

AWT
Lo cIose MouseEvent (I)
Un evenfo de fipo MouseEvent se produce
cuondo eI cursor movido por eI rutn entru en un componenfe.
cuondo eI cursor movido por eI rutn suIe de un componenfe.
cuondo se hoce cIick.
cuondo se puIsu un botn deI rofon.
cuondo se sueItu un botn deI rofon.
Propiedodes
Desciende junfo con Io cIose KeyEvent, de Io cIose InputEvent . Esfo cIose
fiene mtodos puru detectur qu botn deI rutn est puIsudo cuondo
se produce un evenfo de enfrodo (por rofon) y poro eIIo define Ios
consfonfes BUTTON1_MASK BUTTON2_MASK BUTTON3_MASK. Esfos
consfonfes se ufiIi;on de Io siguienfe formo si "e" es eI evenfo de fipo
MouseEvent Io siguienfe expresion sero verdodero si eI bofon puIsodo
duronfe eI evenfo ho sido eI bofon I
(e.getModifiers() & InputEvent.BUTTON1_MASK) != 0
Progromocion Orienfodo o Objefos I7
AWT
Lo cIose MouseEvent (II)
Consfrucfores
Mo Ios esfudiomos porque no vomos o consfruir objefos de esfo cIose
soIo vomos o monipuIorIos en nuesfros cIoses gesforos de evenfos.
AIgunos mfodos (i)
int getClickCount() devueIve eI nmero de cIicks osociodos con eI
evenfo.
Point getPoint() devueIve Ius posiciones e y deI evento reIutivus uI
componente que ho Ion;odo eI evenfo.
int getX() devueIve Iu posicin deI evento reIutivus oI componente
que ho Ion;odo eI evenfo.
int getY() devueIve Iu posicin y deI evento reIofivos oI componente
que ho Ion;odo eI evenfo.
String paramString() devueIve en formo de String Ios purmetros deI
evento (Io posicion eI fipo de evenfo efc). Muy fiI poro depurocion y
oprendi;oje.
Progromocion Orienfodo o Objefos I8
AWT
Lo cIose MouseEvent (III)
AIgunos mfodos (ii - heredodos de Io cIose Tnpu!{vcn!)
boolean isShiftDown() devueIve eI estudo de Iu tecIu especiuI SHIFT.
boolean isAltDown() devueIve eI estudo de Iu tecIu especiuI ALT.
boolean isControlDown() devueIve eI estudo de Iu tecIu especiuI CTRL.
int getModifiers() obfiene informucin con unu mscuru de b|ts sobre
eI bofon que esfo puIsodo.
long getWhen() devueIve eI instunte de tiempo en eI que ho ocurrido eI
evenfo.
Lo inferfoce mousc//s!cnct (i)
Tiene b mfodos
void mouseClicked(MouseEvent e) se invoco cuondo se hu hecho cIick sobre
un componenfe.
void mouseEntered(MouseEvent e) se invoco cuondo eI rutn entru en un
componenfe.
void mouseExited(MouseEvent e) se invoco cuondo eI rutn suIe de un
componenfe.
Progromocion Orienfodo o Objefos I9
AWT
Lo cIose MouseEvent (IV)
Lo inferfoce MouseListener (ii)
void mousePressed(MouseEvent e) se invoco cuondo un botn deI rutn
se hu presionudo sobre un componenfe.
void mouseReleased(MouseEvent e) se invoco cuondo un botn deI rutn
se hu soItudo sobre un componenfe.
Lo inferfoce MouseMotionListener
Segundo inferfoce poro Io gesfion de evenfos deI fipo MouseEvent en
concrefo poro Ios evenfos reIocionodos con eI movimienfo deI rofon.
Tiene Z mfodos
void mouseMoved(MouseEvent e) se invoco cuundo eI rutn se mueve
sobre un componenfe.
void mouseDragged(MouseEvent e) se invoco cuondo se puIsu un botn deI
rutn sobre un componente y despus se urrustru eI rutn. Lo
invococion confino hustu que se sueItu eI botn deI rofon
independienfemenfe de si confino sobre Ios Imifes deI componenfe o no.
Progromocion Orienfodo o Objefos Z0
AWT
EjempIo de Io cIose MouseEvent (I)
EgempIo: Se prefende comprobor eI funcionomienfo de Ios dos
inferfoces MouseListener y MouseMotionListener . Poro eIIo se
consfruye un progromo que muesfre inicioImenfe Io venfono de Io
figuro con Ios siguienfes eIemenfos
Dos bofones "8ofon I" y "8ofon Z".
Un oreo de fexfo.
y eI siguienfe comporfomienfo
Lo venfono impIemenfo Ios inferfoces
MouseListener y MouseMotionListener.
EI "8ofon I" regisfro o Io venfono como
MouseListener y eI "8ofon Z" Io regisfro
como MouseMotionListener, Codo ve;
que ocurre un evenfo de rofon en oIguno
de Ios dos bofones se muesfro un
mensoje en eI oreo de fexfo con Ios
poromefros deI evenfo.
Progromocion Orienfodo o Objefos ZI
AWT
EjempIo de Io cIose MouseEvent (II)
import java.awt.*;
import java.awt.event.*;
public class MouseEvent1
{
public static void main (String[] args)
{
Ventana laVentana = new Ventana("Ejemplo de MouseEvent");
laVentana.pack();
laVentana.setVisible(true);
}
}
class GestorCerrarVentana extends WindowAdapter
{
public void windowClosing(WindowEvent we) { System.exit(0);}
}
CIose que confiene Io funcion moin
Funcion moin
Mosfror Io venfono en ponfoIIo
Creocion de un objefo
de fipo venfono
CIose que gesfiono eI evenfo w/ncow/os/ng
SoIir de Io opIicocion
cuondo eI usuorio cierre
Io venfono
Progromocion Orienfodo o Objefos ZZ
AWT
EjempIo de Io cIose MouseEvent (III)
class Ventana extends Frame implements MouseListener,
MouseMotionListener
{
Button boton1;
Button boton2;
TextArea textArea;
String saltoDeLinea;
public Ventana(String titulo)
{
super(titulo);
GestorCerrarVentana cv = new GestorCerrarVentana();
this.addWindowListener(cv);
setLayout(new GridLayout(3,1,20,20));
saltoDeLinea = System.getProperty("line.separator");
boton1 = new Button("Botn 1");
boton2 = new Button("Botn 2");
textArea = new TextArea(5,40);
add(boton1);
add(boton2);
add(textArea);
Lo cIose Venfono es subcIose de /tumc y es
Io cIose gesforo de Ios evenfos de rofon
sobre Ios dos bofones poro eIIo
impIemenfo Ios inferfoces mousc//s!cnct y
mouscmo!/on//s!cnct
DecIorocion de Ios
dos bofones y deI
oreo de fexfo
Creocion y regisfro deI objefo que
gesfiono eI evenfo w/ncow/os/ng
EsfobIecimienfo deI Ioyouf de Io venfono
Creocion de Ios dos bofones y deI oreo de fexfo e
incorporocion o Io venfono
Progromocion Orienfodo o Objefos Z3
AWT
EjempIo de Io cIose MouseEvent (IV)
boton1.addMouseListener(this);
boton2.addMouseMotionListener(this);
}
public void mouseClicked(MouseEvent e) {
textArea.append(e.paramString()+saltoDeLinea);}
public void mouseEntered(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
public void mouseExited(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
public void mousePressed(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
public void mouseReleased(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
public void mouseMoved(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
public void mouseDragged(MouseEvent e) {
textArea.append(e.paramString()+ saltoDeLinea);}
}
ImpIemenfocion de Ios mfodos de
Io inferfoce mouscXc!/on//s!cnct
Pegisfro de Io venfono como gesfor
de Ios evenfos de rofon
ImpIemenfocion de Ios mfodos de
Io inferfoce mousc//s!cnct
Progromocion Orienfodo o Objefos Z4
AWT
Lo cIose Button (I)
Evenfos
4 evenfos de su supercIuse Component (ComponentEvent, FocusEvent,
KeyEvent, MouseEvent).
I evenfo propio de Io cIose (y fombin de ofros cIoses) que se genero
uI hucer cIick sobre eI botn y que es un evenfo de fipo ActionEvent,
Poro gesfionor esfe fipo de evenfo eI objefo de Io cIose Button debe
regisfror o un ActionListener medionfe eI mfodo addActionListener.
Consfrucfores
Button(String e) construye un botn con Iu etiquetu especificudu por
eI poromefro "e".
Button() consfruye un botn sin etiquetu.
AIgunos mfodos (i)
void setLabel(String e) estubIece Iu etiquetu deI bofon o Io
especificodo por eI poromefro "e".
Progromocion Orienfodo o Objefos Zb
AWT
Lo cIose Button (II)
AIgunos mfodos (ii)
String getLabel() devueIve Iu etiquetu deI bofon. Si no fiene efiquefo
devueIve null.
void addActionListener(ActionListener al) registru eI ActionListener
especificodo por eI poromefro "oI".
void removeActionListener(ActionListener al) borru eI ActionListener
especificodo por eI poromefro "oI".
void setActionCommand(String c) estubIece un nombre de comundo "c"
poro eI ActionEvent disporodo por eI bofon. Por defecto esfe nombre
coincide con Io etiquetu deI bofon.
String getActionCommand() devueIve eI nombre de comundo osociodo oI
bofon.
Progromocion Orienfodo o Objefos Zo
AWT
Lo cIose ActionEvent (I)
Un evenfo de fipo ActionEvent se produce
oI hucer cIick sobre un bofon
oI seIeccionur un eIemento de un men
oI hocer dobIe cIick en un eIemenfo de uno Iistu
oI puIsor Io tecIu "enter" cuondo se est editundo unu cugu de
teto
Consfrucfores
Mo Ios esfudiomos porque no vomos o consfruir objefos de esfo cIose
soIo vomos o monipuIorIos en nuesfros cIoses gesforos de evenfos.
AIgunos mfodos (i)
String getActionCommand() devueIve eI nombre de comundo usociudo
con eI componente donde se hu generudo eI evento. Si oI
componenfe no se Ie hu usignudo un nombre de comondo medionfe
uno IIomodo o setActionCommand esfe mfodo devueIve eI teto
mosfrodo por eI componenfe (su etiquetu). Poro objefos con vorios
fems (por ejempIo Ios Iisfos) eI voIor devueIfo es eI nombre deI fem
seIeccionodo.
Progromocion Orienfodo o Objefos Z7
AWT
Lo cIose ActionEvent (II)
AIgunos mfodos (ii)
int getModifiers() devueIve uno constunte (de Ios consfonfes definidos
en Io cIose) que indicu qu tecIu especiuI estubu puIsudu u Iu vez
que se produco eI evenfo. Los consfonfes definidos son SHIFT_MASK
CTRL_MASK META_MASK ALT_MASK. Por ejempIo si mienfros se
produce un evenfo esfo puIsodo Io fecIo ALT Io siguienfe expresion
es disfinfo de cero (verdodero)
eventoProducido.getModifiers & ActionEvent.ALT_MASK
Lo inferfoce ActionListener
Los cIoses que se disehen poro gesfionor un evenfo de fipo ActionEvent
fienen que impIemenfor Io inferfoce ActionListener.
SoIo tiene un mtodo que se invoco oufomoficomenfe cuondo ocurre
eI evenfo esfe mfodo es
void actionPerformed (ActionEvent e)
Como soIo fiene un mfodo no se dispone de unu cIuse "udupter".
Progromocion Orienfodo o Objefos Z8
AWT
EjempIo de Io cIose Button (I)
EgempIo: un progromo que muesfre inicioImenfe Io venfono de Io
figuro. En eIIo hoy cuofro bofones Ios fres primeros producen
combios en eI Ifimo de Io siguienfe monero
cuondo se puIso eI bofon "Combior coIor de fondo" se combio eI coIor
de fondo deI Ifimo bofon si esfe coIor es rojo se combio o o;uI y
viceverso.
cuondo se puIso eI bofon "Combior coIor de primer pIono" se combio eI
coIor de primer pIono deI Ifimo bofon si esfe coIor es negro se
combio o bIonco y viceverso.
cuondo se puIso eI bofon "Combior efiquefo" se combio Io efiquefo deI
Ifimo bofon si Io efiquefo es {!/uc!u X se combio o {!/uc!u y
viceverso.
Progromocion Orienfodo o Objefos Z9
AWT
EjempIo de Io cIose Button (II)
import java.awt.*;
import java.awt.event.*;
public class EjemploBotones1
{
public static void main(String[] args)
{
Ventana laVentana = new Ventana("Ejemplo de botones");
laVentana.pack();
laVentana.setVisible(true);
}
}
class GestorCerrarVentana extends WindowAdapter
{
public void windowClosing(WindowEvent we) { System.exit(0);}
}
CIose que confiene Io funcion moin
Funcion moin
Mosfror Io venfono en ponfoIIo
Creocion de un objefo
de fipo venfono
CIose que gesfiono eI evenfo w/ncow/os/ng
SoIir de Io opIicocion
cuondo eI usuorio cierre
Io venfono
Progromocion Orienfodo o Objefos 30
AWT
EjempIo de Io cIose Button (III)
class Ventana extends Frame implements ActionListener
{
static final String COLORB="colorb";
static final String COLORF="colorf";
static final String ETIQUETA="etiqueta";
Button botonColorB, botonColorF, botonEtiqueta;
Button elBoton;
public Ventana(String titulo)
{
super(titulo);
GestorCerrarVentana cv = new GestorCerrarVentana();
this.addWindowListener(cv);
setLayout(new FlowLayout());
elBoton = new Button("Etiqueta A");
elBoton.setBackground(Color.red);
elBoton.setForeground(Color.black);
Lo cIose Venfono es subcIose de /tumc y es
Io cIose gesforo de Ios evenfos que se
producen oI puIsor Ios fres primeros
bofones de Io venfono poro eIIo
impIemenfo Io inferfoce Xc!/on//s!cnct
DecIorocion de Ios fres primeros bofones
DecIorocion deI Ifimo bofon
Consfonfes de fipo Sfring que von o ser Ios
nombres de comondo de Ios fres primeros bofones
Creocion y regisfro deI objefo que
gesfiono eI evenfo w/ncow/os/ng
EsfobIecimienfo deI Ioyouf de Io venfono
Creocion deI Ifimo bofon de Io venfono y
esfobIecimienfo de su ospecfo inicioI
Progromocion Orienfodo o Objefos 3I
AWT
EjempIo de Io cIose Button (IV)
botonColorB = new Button("Cambiar color de fondo");
botonColorB.setActionCommand(COLORB);
botonColorF = new Button("Cambiar color de primer plano");
botonColorF.setActionCommand(COLORF);
botonEtiqueta = new Button("Cambiar etiqueta");
botonEtiqueta.setActionCommand(ETIQUETA);
botonColorB.addActionListener(this);
botonColorF.addActionListener(this);
botonEtiqueta.addActionListener(this);
add(botonColorB);
add(botonColorF);
add(botonEtiqueta);
add(elBoton);
}
Pegisfro de Io venfono como gesfor de
Ios evenfos que se producen oI puIsor
cuoIquiero de Ios fres bofones
Creocion de Ios fres primeros
bofones de Io venfono y
esfobIecimienfo de sus
respecfivos nombres de
comondo
Incorporocion de Ios cuofro
bofones o Io venfono
Progromocion Orienfodo o Objefos 3Z
AWT
EjempIo de Io cIose Button (V)
public void actionPerformed(ActionEvent e)
{
String comando=e.getActionCommand();
if (comando==COLORB)
{
Color colorActual=elBoton.getBackground();
if (colorActual == Color.red) elBoton.setBackground(Color.blue);
else elBoton.setBackground(Color.red);
}
else if (comando==COLORF)
{
Color colorActual=elBoton.getForeground();
if (colorActual == Color.black) elBoton.setForeground(Color.white);
else elBoton.setForeground(Color.black);
}
else
{
String etiquetaActual = elBoton.getLabel();
if (etiquetaActual == "Etiqueta A") elBoton.setLabel("Etiqueta B");
else elBoton.setLabel("Etiqueta A");
}
}
}
Combio deI coIor
de fondo deI
Ifimo bofon
nico mfodo deI inferfoce Xc!/on//s!cnct
Obfencion deI bofon que ho originodo eI evenfo
Combio deI coIor
de primer pIono
deI Ifimo bofon
Combio de Io
efiquefo deI
Ifimo bofon

También podría gustarte