Problemas más Comunes con la Distribución de Componentes (y sus Soluciones)
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 componentes personalizados, necesitan sobreescribir los métodos minimumSize() y preferredSize() del componente para devolver el tamaño correcto del componente.
Para cambiar el tamaño de un componente que ya ha sido dibujado, puedes ver el siguiente problema.
Nota: Todos los tamaños de los componentes están sujetos a la aprobación del controlador de disposición. Los controladores FlowLAyout y GridBagLayout utilizan el tamaño natural de los componentes (el último dependiendo de las obligaciones que usted seleccione), pero BorderLayout y GridLAyout no. Otras opciones son esciribr o encontrar un controlador de disposición personalizado o utilizando posicionamiento absoluto.
Problema: ¿Cómo puedo redimensionar un Componente?
- Una vez que el componente ha sido dibujado, puedes cambiar su tamaño utilizando el método resize() del Componente. Luego necesitas llamar al metodo validate() del contenedor para asegurarse de que éste se muestre de nuevo.
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 disposición que puede utilizar todo el espacio disponible? Puede ver Reglas Generales para el Uso de Controladores de Disposición para ver algunas situaciones de elección del controlador de disposición y especificar que utilice el máximo espacio disponible para un componente particular.
Si no has visto tu problema en esta lista, puedes ver Problemas más Comunes con los Componentes.
Ozito