2012-04-14 20 views
7

Duplicar posible:
setMaximumSize not working in javaJava setMaximumSize swing no trabaja

he problemas con mi JFrame subclase. Necesito establecer una altura máxima.

Pero setMaximumSize no funciona. Parece que es un error en Java (funciona SetMinimumSize). ¿Cómo podría evitar que un JFrame se ponga más alto que una altura determinada?

+0

Definir "no funciona"? – simchona

+0

Bueno. Yo uso setMaximumSize en mi JFrame. Pero aún puedo ampliar el JFrame por encima de los límites que establecí. –

+0

Usted puede estar interesado en http://stackoverflow.com/questions/4061010/setmaximumsize-not-working-in-java – simchona

Respuesta

5

Use este lugar/así:

setPreferredSize(new Dimension(width, height)); 

En mi experiencia setPreferredSize(Dimension) toma preferencia y siempre funciona.

que suelen utilizar todos ellos de todas formas: setMinimumSize(), setMaximumSize(), setPreferredSize() y luego setSize() así

6

En mi experiencia, setMinimumSize y setMaximumSize no son fiables - que puede funcionar en algunas situaciones, pero a menudo no en otros

La mejor solución es utilizar un ComponentListener, implementar componentResized, y hacer cumplir el tamaño mínimo/máximo de esa manera

+2

1 Véase también [¿Debo evitar el uso de conjunto (Preferido | | máximos mínimo) Tamaño métodos en Java Swing] (http://stackoverflow.com/q/7229226/230513)? – trashgod

+0

¿Puede profundizar en esto? ¿Cómo harías cumplir el tamaño min/max capturando eventos de cambio de tamaño? AFAIK estos eventos se disparan como notificaciones y no serían útiles para imponer límites de tamaño. – Lieuwe