lunes, 30 de julio de 2012

JButton con JPopupMenu mas efectos en java


ApeticióndeLuis Fernando , un amigo defacebookque mepidiócomo llamar un JPopupMenu desde unbotón,bueno hay varias formas pero opto por esta no es que sea la mejor pero para mi es la mas sencilla y no sobretodo eso si no que podemos personalizar al JPopupMenu como queramos depende de nuestra creatividad en laprogramación.
¿Pero que hay de nuevo deaquí?
el hecho de que pueda personalizar mi popup es donde quiero que salga o se muestre dandole coordenadas con la propiedad.
  

int lugar= (c.getHeight()+c.getHeight()+25)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,-lugar);

Show() noes permite visualizar el popup donde nosotros queramos.

Colocando la enum, ¿pero que es enum?
un enum en Java es un conjunto fijo y relacionado de constantes como pueden ser los días de la semana y deberían usarse siempre que se necesite representar un conjunto de constantes
Como lo utilizamos

         public enum Orientacion{
TOP,
BOTTOM
}
protected Orientacion orientacion= Orientacion.TOP;//por defecto TOP

}

de esta maneraconstruyoy declaro un enum que son muy buenos,yo los utilizo siempre al momento de programar proyectos con varias propiedades.
llamando a las constantes del enum
para recorrer el enum loúnicoque necesitamos es unswitch.
  

switch (orientacion){

case TOP:{

int lugar= (c.getHeight()+c.getHeight()+25)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,-lugar);
/****************************/
break;
}
case BOTTOM:{

int lugar= (c.getHeight()+c.getHeight()+2)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,lugar);
/**************************/
break;
}
/*************
}


de esta manera lo colocamos donde queramos que se ejecute puede ser dentro de unafunción,o como en este caso dentro del evento delbotón.
propiedades delbotónpara cambiar deorientaciónel popup.

   

public void setOrientacion(Orientacion Orientacion)
{
this.orientacion=Orientacion;
}
public Orientacion getOrientacion()
{
return orientacion;
}



DESCARGAR







No hay comentarios:

Publicar un comentario