Categorías destacadas
programacion php    
Artículo
28
¡votar!

 Swing y JFC (Java Foundation Classes)


Problemas con el Controlador de Distribución

Problema:¿Cómo puedo especificar el tamaño exacto de un componente?

  • Primero, asegúrate de que realmente necesitas seleccionar el tamaño exacto del componente. Los componentes estandards tienen distintos tamaños, dependiendo de la plataforma donde se están ejecutando y de la fuente utilizada, por eso normalmente no tiene sentido especificar su tamaño exacto.

    Para los componentes personalizados que tienen contenidos de tamaño fijo (como imágenes), especificar el tamaño exacto tiene sentido. Para ellos, necesitamos sobreescribir los métodos minimumSize() y preferredSize() del componente para devolver su tamaño correcto.

Nota: No insporta cómo especifiquemos el tamaño de nuestro componente, debemos asegurarnos de que el contenedor de nuestro componente utiliza un controlador de distribución que respeta las peticiones de tamaño del componente. Los controladores FlowLayout y GridBagLayout usan los tamaños preferidos de los componentes (dependiendo de las restricciones activadas), pero BorderLayout y GridLayout normalmente lo no hace. El controlador BoxLayout generalmente usa el tamaño preferido del componente (aunque los componentes pueden ser más grandes) y es el único controlador de distribución que respeta el tamaño máximo del componente.

Si especificamos un nuevo tamaño para un componente que ya está visible, necesitamos invocar al método revalidate sobre él, para asegurarnos de que todo el arbol de herencia también se ha revalidado. Luego llamamos al método repaint.

Problema:Mi componente personalizado se dibuja demasiado pequeño.

  • ¿Has implementado los métodos preferredSize() and minimumSize() del componente? Si lo has hecho, ¿devuelven los valores correctos?
  • ¿Estás utilizando un controlador de distribución que puede utilizar todo el espacio disponible? Puedes ver Reglas Generales para el Uso de Controladores de Disposición para ver algunas situaciones de elección del controlador de distribución y especificar que utilice el máximo espacio disponible para un componente particular.
Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon