PROPIEDADES COMPARTIDAS - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

PROPIEDADES COMPARTIDAS

Description:

Para ello, se define un interfaz para el momento del dise o que permite a la ... public class Conductor. private Vector tpuntoListeners=new Vector ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 24
Provided by: Agu94
Category:

less

Transcript and Presenter's Notes

Title: PROPIEDADES COMPARTIDAS


1
PROPIEDADESCOMPARTIDAS
  • Leyla del Campo García de Ceca
  • Águeda de Gregorio Morena

2
INDICE
  • 1.DEFINICION DE UN JAVABEAN
  • 2.PROPIEDADES
  • 3.EJEMPLO

3
1.DEFINICION DE UN JAVABEAN
  • Un JavaBean o bean es un componente hecho en
    software que se puede reutilizar y que puede ser
    manipulado visualmente por una herramienta de
    programación en lenguaje Java.

4
1.DEFINICION DE UN JAVABEAN
  • Para ello, se define un interfaz para el momento
    del diseño que permite a la herramienta de
    programación o IDE, interrogar al componente y
    conocer las propiedades que define y los tipos
    de sucesos que puede generar en respuesta a
    diversas acciones.

5
2.PROPIEDADES
  • Una propiedad es un atributo del JavaBean que
    afecta a su apariencia o a su conducta.
  • Por ejemplo un botón puede tener de propiedades
    la anchura, altura, color del texto, etc.

6
2.PROPIEDADES
  • Las propiedades de un bean pueden modificarse y
    mostrarse mediante los métodos set y get
    respectivamente.

7
2.PROPIEDADES
  • El IDE llama a los métodos que empiezan por get.
    Si el programador cambia el valor de una
    propiedad se llama a un método cuyo nombre
    empieza por set.

8
2.PROPIEDADES
  • Tipo de propiedades
  • Simples
  • Indexadas
  • Compartidas
  • Restringidas

9
2.PROPIEDADES
  • Propiedades simples representan un único valor
  • Propiedades indexadas Una propiedad indexada
    representa un array de valores

10
2.PROPIEDADES
  • Propiedades compartidas notifican a otros
    objetos interesados, cuando el valor de dicha
    propiedad cambia, permitiendo a estos objetos
    realizar alguna acción.

11
2.PROPIEDADES
  • Propiedades restringidas Una propiedad
    restringida es similar a una propiedad ligada
    salvo que los objetos a los que se les notifica
    el cambio del valor de la propiedad tienen la
    opción de vetar cualquier cambio en el valor de
    dicha propiedad.

12
3.EJEMPLO DE CLASE CON PROPIEDAD COMPARTIDA
  • public class Conductor
  • private int tpunto
  • public Conductor()
  • tpunto10
  • public void setPunto(int nuevoPunto)
  • tpuntonuevoPunto
  • public int getPunto()
  • return tpunto

13
3.PASOS PARA NOTIFICAR EL CAMBIO DE UNA PROPIEDAD
  • Crear una clase que defina un suceso
    personalizado, denominada ?Event
  • Crear un interface denominado ?Listener, que
    declare los métodos que los objetos a los que se
    le notifican el cambio en dicha propiedad,
    precisen implementar.

14
3.PASOS PARA NOTIFICAR EL CAMBIO DE UNA PROPIEDAD
  • Crear un vector que contenga la lista de
    objetos interesados en el cambio en el valor
    de dicha propiedad
  • Definir dos funciones denominadas add?Listener y
    remove?Listener, que añadan o eliminen objetos de
    dicha lista

15
3.EJEMPLO DE CLASE QUE DEFINE UN EVENTO
  • import java.util.
  • public class TpuntoEvent extends EventObject
  • protected int antiguoPunto, nuevoPunto
  • public TpuntoEvent(Object fuente, int
    antiguo, int nuevo)
  • super(fuente)
  • nuevoPuntonuevo
  • antiguoPuntoantiguo
  • public int getNuevoPunto() return
    nuevoPunto
  • public int getAntiguoPunto() return
    antiguoPunto

16
3.IMPLEMENTACION DE LA INTERFAZ
  • import java.util.
  • public interface TpuntoListener extends
    EventListener
  • public void conocidoCambio(EventObject e)

17
3.VECTOR DE OYENTES Y FUNCIONES PARA AÑADIR Y
BORRAR OYENTES
  • public class Conductor
  • private Vector tpuntoListenersnew Vector()
  • public synchronized void
    addTpuntoListener(TpuntoListener listener)
    tpuntoListeners.addElement(listener)
  • public synchronized void removeTpuntoListener(Tp
    untoListener listener) TpuntoListeners.re
    moveElement(listener)

18
  • Cada vez que se produce un cambio en la propiedad
    hay que notificar dicho cambio a todos los
    elementos de la lista de oyentes
  • Finalmente todos los objetos interesados en el
    cambio de dicha propiedad deben implementar la
    función conocidoCambio definida en la interface
    TpuntoListener.

19
3.IMPLEMENTACION DE LA CLASE CONDUCTOR
  • import java.beans.
  • import java.util.
  • public class Conductor
  • private Vector tpuntoListenersnew Vector()
  • private int tpunto
  • public Conductor() tpunto10
  • public void setPunto(int nuevoPunto)
  • int antiguoPuntotpunto
  • tpuntonuevoPunto
  • if(antiguoPunto!nuevoPunto)
  • TpuntoEvent eventnew
    TpuntoEvent(this, antiguoPunto, nuevoPunto)
  • avisarCambio(event)

20
3.IMPLEMENTACION DE LA CLASE CONDUCTOR
  • public int getTpunto() return tpunto
  • public synchronized void addTpuntoListener(T
    puntoListener listener)
  • tpuntoListeners.addElement(listener)
  • public synchronized void removeTpuntoListene
    r(TpuntoListener listener)
  • tpuntoListeners.removeElement(liste
    ner)
  • private void avisarCambio(TpuntoEvent
    event)
  • Vector a
  • synchronized(this)
  • a(Vector)tpuntoListeners.clone()
  • for(int i0 ilta.size() i)
  • TpuntoListener listener(TpuntoListen
    er)a.elementAt(i)
  • listener.conocidoCambio(event)

21
3.OBJECTOS OYENTES
  • public class DGT implements TpuntoListener
  • public DGT()
  • public void conocidoCambio(EventObject ev)
  • if(ev instanceof TpuntoEvent)
  • TpuntoEvent event(TpuntoEvent)ev
  • System.out.println(DGT nuevos
    puntos

  • "event.getNuevoPunto())
  • System.out.println(DGT antiguos
    puntos
  • "event.getAntiguoPunto())

22
3.VINCULACION ENTRE FUENTES Y OYENTES
  • public class Ejemplo
  • public static void main(String args)
  • DGT agentenew DGT() Conductor
    conductornew Conductor() conductor.addTpuntoL
    istener(agente) conductor.setPunto(8)

23
REFERENCIAS
  • www.programacion.net/java/tutorial/beans/
  • Mark Watson Creating Java Beans
Write a Comment
User Comments (0)
About PowerShow.com