Mostrando entradas con la etiqueta listeners. Mostrar todas las entradas
Mostrando entradas con la etiqueta listeners. Mostrar todas las entradas

miércoles, 12 de octubre de 2011

How To: Create Dinamic menu from XML file Java // Crear menu dinamico desde XML en Java

Hola a todos, ahora lo que vamos a ver es como generar un menú y sus opciones hijas desde un xml, esto desde mi humilde punto de vista es bastante útil, dado que estar generando el menú desde código en java lleva mucho tiempo, y si queremos agregar otra opción al menú, se tienen que hacer demasiados cambios al código; con esto no quiero decir que con esta forma que veremos a continuación no se tiene que cambiar nada cuando se quiera cambiar la estructura del código, pero si los cambios son mínimos y el esfuerzo también.

Para empezar veremos el resultado final (para que se animen mas a seguir leyendo ^^).
y la otra opción de menú:

viernes, 2 de septiembre de 2011

HOW TO: resize jcombobox popup // redimensionar popup de un JCombobox

Hola a todos. si sueles programar en java, o al menos lo intentas (como es mi caso xD),  mas de alguna ocasión has creado una aplicación de escritorio usando las JFC para crear tu GUI. si es así, quizá es bastante posible que hallas usado un JCombobox que se llena desde la base de datos (con información la cual no sabemos la longitud que posee).

cuando este caso se presenta pueden ocurrir los siguientes problemas o complicaciones del diseño:
  • El objecto no muestra su texto completo, dejando incompleta la información que necesitamos mostrar en el JCombobox
  • El componente (JCombobox) se auto-re dimensiona al ancho del objeto con el texto mas extenso... cuando esto sucede, es bastante común que el componente desordene otros componentes que están ubicados cerca de el, obligándonos a re diseñar o re ubicar algunos componentes en dicha pantalla; lo cual implica tiempo, tiempo que lo podríamos estar usando para avanzar en otras pantallas del sistema o... simplemente para navegar por Internet ^^
un ejemplo ilustrado del terrible problema:

EDITO: debido a un problema con algunas versiones de jdk lanza un Null Pointer; al final de la entrada agrego un metodo alternativo para lograr el mismo objetivo.

Bueno para solucionar dichos problemas vamos a crear una clase que implemente la interfaz PopupMenuListener la cual va a cambiar los límites (ancho) del menú emergente para proveer al JComboBox algunas funcionalidades diferentes. entre las cuales:
  • la ventana emergente puede ser más amplio que el JCombobox
  • la ventana emergente se muestra por encima del JCombobox (útil cuando el componente esta ubicado al fondo de la pantalla y las opciones que desplegara son bastantes, evitando así que las opciones ultimas de la lista no sean visibles)