|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
[JAVA/Swing] Modo pulito per aggiungere componenti al volo
Salve,
dovrei aggiungere dei componenti a una finestra gia' disegnata, che dovrebbe allargarsi sulla destra per far posto ai nuovi componenti, e nasconderli quando non servono piu' - tipo la finestra per salvare i file in firefox... Cosi' funziona: Codice:
( (JFrame) getParent().getParent().getParent() ).pack(); il cui parent e' un JRootPane, che a sua volta ha il mio JFrame per parent. C'e' un modo piu' pulito per farlo? Grazie
__________________
|Java Base| |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Se vuoi ottenere la finestra a cui appartiene un componente:
Frame window = JOptionPane.getFrameForComponent(aComponent); Normalmente non si alterano programmaticamente le dimensioni di una finestra perchè questo causa un effetto "blob" dell'interfaccia. La comparsa/scomparsa di regioni della GUI è gestita allargando o restringendo i pannelli interni alla finestra, a cornice immutata. Naturalmente è una libera scelta
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Grazie.
Ma non capisco cosa intendi per "effetto blob". Io faccio un setVisible (true o false) su un JSeparator e un JFileChooser e un pack del frame, e l'effetto grafico è perfetto. Tu intendi un setSize o setPreferredSize del panello? Ma se il tutto non sta nel frame? Come fai a non alterare la cornice?
__________________
|Java Base| |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
L'effetto blob è quello delle finestre che si allargano e si restringono da sole. Ci sono un bel po' di ragioni per cui è l'utente a stabilire quanto grande debba essere una finestra. Magari ha il tuo programma a sinistra e la foto di Giovannona Coscialunga sulla destra: a tradimento gliene copri un pezzo e lui perde l'attimo fuggente.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Beh, ma la finestra si allarga solo se l'utente preme il pulsante
"Show file browser", se si copre Giovannona sono cavoli suoi... e poi basta ripremere il pulsante e la finestra torna come prima. Non so che browser usi, ma piu' o meno è lo stesso effetto che fa la finestra di salvataggio di firefox, per mostrare altre destinazioni - non in tutte le versioni però.
__________________
|Java Base| |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:16.










|







