PDA

View Full Version : [JAVA] Cambiare dimensione jframe


serpico84
01-07-2009, 17:26
Ho un menu il quale quando premo un bottone vorrei che comparisse. Questo menu è nello stesso frame del bottone e in pratica voglio allargare la dimensione del frame. Per ora l'unica soluzione che ho trovato è questa ma credo che ce ne siano migliori. All'evento del bottone ho messo:

if (this.getWidth()==377){ for (int i=377;i<=656;i=i+8){
setSize(i, 813);
}}

In pratica quando la dimensione è quella di default (cioè ho il menu nascosto) allargo la finestra fino alla dimensione che mi permette di vedere il menu nascosto...l'effetto non è dei migliori, esiste di meglio???

ndakota
01-07-2009, 17:29
non puoi farlo già più grande e quando è il momento lo rendi solo visibile?

component.setVisible(true);

serpico84
01-07-2009, 17:30
non è un componente esterno al frame è nello stesso frame

PGI-Bis
01-07-2009, 21:30
il setVisible è ok anche per i componenti interni. I componenti non visibili non partecipano alla distribuzione dello spazio quindi se insersci un pannello invisibile e poi lo rendi visibile - riconvalidando il layout del contenitore - capita quel che deve capitare.

Piuttosto il for mi fa pensare al fatto che tu voglia realizzare una transizione vale a dire il componente non appare all'improvviso ma un po' alla volta. In questo caso puoi usare un JSplitPane, disabilitare il controllo utente e animare la posizione del separatore. Il risultato è un pannello a tendina.

serpico84
02-07-2009, 09:46
Piuttosto il for mi fa pensare al fatto che tu voglia realizzare una transizione vale a dire il componente non appare all'improvviso ma un po' alla volta. In questo caso puoi usare un JSplitPane, disabilitare il controllo utente e animare la posizione del separatore. Il risultato è un pannello a tendina.

Si è proprio quello il discorso, infatti mi sono spiegato male...voglio che il frame si allarghi un po alla volta. Ora provo come dici te.