2012-04-14 9 views
7

Eventuali duplicati:
setMaximumSize not working in javaJava Swing setMaximumSize non funziona

ho avuto problemi con il JFrame sottoclasse. Devo impostare un'altezza massima.

Ma setMaximumSize non funziona. Sembra che sia un bug in java (setMinimumSize funziona). Come impedire a un JFrame di superare una determinata altezza?

+0

Definire "non funziona"? – simchona

+0

Bene. Io uso setMaximumSize sul mio JFrame. Ma posso ancora ingrandire JFrame oltre i limiti che ho impostato. –

+0

Potresti essere interessato a http://stackoverflow.com/questions/4061010/setmaximumsize-not-working-in-java – simchona

risposta

5

Utilizzare questo posto/e:

setPreferredSize(new Dimension(width, height)); 

Nella mia esperienza setPreferredSize(Dimension) prende la preferenza e sempre funziona.

Io di solito uso tutti loro in ogni caso: setMinimumSize(), setMaximumSize(), setPreferredSize() e poi setSize() così

6

Nella mia esperienza, setMinimumSize e setMaximumSize non sono affidabili - possono lavorare in alcune situazioni, ma spesso non in altri

La soluzione migliore è quella di utilizzare un ComponentListener, implementare componentResized, e rispettare la/dimensione massima min in questo modo

+2

+1 Vedere anche [Devo evitare l'uso dei metodi Set (preferito | Massimo | Minimo) in Java Swing] (http://stackoverflow.com/q/7229226/230513)? – trashgod

+0

Puoi approfondire questo? Come applicheresti le dimensioni min/max catturando gli eventi di ridimensionamento? AFAIK questi eventi sono attivati ​​come notifiche e non sarebbero utili per far rispettare i limiti di dimensione. – Lieuwe