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.
Si no has visto tu problema en esta lista, puedes ver Resolver los Problemas más Comunes con los Componentes.