Come faresti per ottenere un gui dall'aspetto decente generato quando non sai quanti componenti avrai e quanto saranno grandi?Layout variabile in Swing
Un utente, ad esempio, immette quanti campi di testo desiderano e quali di quei campi di testo sono raggruppati in riquadri con bordi e il programma genera questo.
Sto usando GridLayout, ma il problema è che rende tutte le celle della stessa larghezza e altezza, che va bene quando tutti i componenti hanno le stesse dimensioni, ma quando io, ad esempio, ho un campo di testo e un pannello bordato con più campi, il campo di testo viene allungato o il pannello viene compresso.
Vorrei che tutti i componenti abbiano le dimensioni minime, ma comunque, si sa, utilizzabili.
Example of how it is now, using GridLayout, tutti i campi sono normali, campi JText a una riga in cui la data del pannello è completamente compressa (contiene tre campi) ei campi di primo livello sono molto grandi. Qualcuno ha qualche indicazione?
L'unico problema che ho ora è che quando le etichette in una scatola sono diverse, le caselle di testo sono di dimensioni diverse, come ad esempio http://grab.by/5gpW. c'è un modo per aggiustarlo senza scrivere il mio LayoutManager? – thepandaatemyface
@thepandaatemyface: ho aggiornato l'esempio per mostrare un approccio. – trashgod
@mKorbel utilizza _mot juste_: l'impostazione della dimensione preferita dell'etichetta è un trucco arbitrario. Un approccio più preciso potrebbe trovare l'etichetta più lunga utilizzando una delle tecniche discusse [qui] (http://stackoverflow.com/questions/5979795/how-to-calculate-the-number-of-rows-and-columns-in -Ogni-fila-un-text-prende-in-aj/5.998.117 # 5.998.117). – trashgod