0307 interface visual jbutton
TRANSCRIPT
-
8/17/2019 0307 Interface Visual JButton
1/13
Interface Visual (Componente JButton
El tercer control visual de uso muy común es el quclase JButton Este control visual muestra un !ot"n
El proceso para a#adir !otones a un control J$ramea#adir controles de tipo J%a!el
&'ora veremos la captura de eventos con los controno de los eventos ms comunes es cuando 'acemun !ot"n
Java implementa el concepto de interfaces para pom*todos de una clase e+istente a una clase desa
nosotros
-
8/17/2019 0307 Interface Visual JButton
2/13
Interface Visual (Componente JButton
Problema 1:
Confeccionar una ventana que muestre u
Cuando se presione ,nali-ar la e.ecuciprograma Java
-
8/17/2019 0307 Interface Visual JButton
3/13
Interface Visual (Componente JButton
import .ava+swing/0
import .avaawtevent/0
pu!lic class $ormulario e+tends J$rame implements &ction%isten
JButton !oton20
pu!lic $ormulario() 1
set%ayout(null)0 !oton23new JButton(4$inali-ar4)0
!oton2setBounds(56678967266756)0
add(!oton2)0
!oton2add&ction%istener(t'is)0
:
-
8/17/2019 0307 Interface Visual JButton
4/13
Interface Visual (Componente JButton
pu!lic void action;erformed(&ctionEvent e) 1 if (egetSource()33!oton2) 1
Systeme+it(6)0
:
:
pu!lic static void main(String967596)0
formulario2setVisi!le(true)0
:
:
-
8/17/2019 0307 Interface Visual JButton
5/13
Interface Visual (Componente JButton
%a mecnica para atrapar el clic del o!.eto de la cse 'ace mediante la implementaci"n de una intinterface es un protocolo que permite la comunicdos clases na interface contiene uno o ms cm*todos7 pero no su implementaci"n ;or e.emplo&ction%istener tiene la siguiente estructura?
interface ActionListener {
public void actionPerformed(ActionEvent e
}
-
8/17/2019 0307 Interface Visual JButton
6/13
Interface Visual (Componente JButton
%uego las clases que implementen la interface &cde!ern especi,car el algor@tmo del m*todo action
Aediante el concepto de interfaces podemos 'acela clase JButton se puede llamar a un m
implementamos en nuestra clase;ara indicar que una clase implementar una 'acemos en la declaraci"n de la clase con la sinta
public class Formulario etends JFrame im
ActionListener {
-
8/17/2019 0307 Interface Visual JButton
7/13
Interface Visual (Componente JButton
Con esto estamos diciendo que nuesimplementa la interface &ction%istenestamos o!ligados a codi,car el
action;erformede,nimos un o!.eto de la clase JButto
JButton boton1!
-
8/17/2019 0307 Interface Visual JButton
8/13
Interface Visual (Componente JButton
En el constructor creamos el o!.eto de la clase JButton y medi
del m*todo add&ction%istener le pasamos la referencia del o!.JButton utili-ando la pala!ra clave t'is (t'is almacena la direccidonde se almacena el o!.eto de la clase J$rame7 luego mediantepodemos llamar al m*todo action;erformed)?
public Formulario() {
setLa"out(null)! boton1#ne$ JButton(%Finali&ar%)!
boton1'setBounds(*+,*1*)!
add(boton1)!
boton1'addActionListener(t-is)!
}
-
8/17/2019 0307 Interface Visual JButton
9/13
Interface Visual (Componente JButton
El m*todo action;erformed (este m*todo de &ction%istener de!e implementarse o!ligatoriamede no codi,carlo o equivocarnos en su nom!re amensa.e de error en tiempo de compilaci"n programa
El m*todo action;erformed se e.ecutar cad'agamos clic so!re el o!.eto de la clase JButton
%a interface &ction%istener y el o!.eto de la clase que llega como parmetro estn de,nidos en el pa
import .ava'a$t'event'/!
-
8/17/2019 0307 Interface Visual JButton
10/13
Interface Visual (Componente JButton
Es decir que cada ve- que se presiona el !ot"n desde la clase Jal m*todo action;erformed y reci!e como parmetro un o!.e&ctionEvent
En el m*todo action;erformed mediante el acceso al m*todo o!.eto que llega como parmetro podemos anali-ar que !ot"n s
public void actionPerformed(ActionEvent e) {
if (e'0etource()##boton1) {
"stem'eit()!
}
}
-
8/17/2019 0307 Interface Visual JButton
11/13
Interface Visual (Componente JButton
Si se presion"n el !oton2 luego el if sverdadero y por lo tanto llamando ae+it de la clase System se ,nali-a la e
del programa%a main no var@a en nada con repro!lemas anteriores
-
8/17/2019 0307 Interface Visual JButton
12/13
Interface Visual (Componente JButton
Problema +:
Confeccionar una ventana que conte
o!.etos de la clase JButton con las 4247 484 y 454 &l presionarse cam!iadel J$rame indicando cul !ot"n se pre
-
8/17/2019 0307 Interface Visual JButton
13/13
Interface Visual (Componente JButton
Problemas propuestos
isponer dos o!.etos de la clase JBu
las etiquetas? 4var"n4 y 4mu.er47 al premostrar en la !arra de t@tulos del Jetiqueta del !ot"n presionado