Ciao a tutti, ho un JFrame che contiene tre componenti.Java Swing: come posso modificare le dimensioni di una riga in un layout a griglia e consentirne il ridimensionamento dinamico solo in orizzontale e non in verticale?
- Un menu
- Un riquadro a schede
- un pannello che ha alcuni tasti
Inizialmente il mio obiettivo era quello di creare un design simile al seguente:
quando l'utente ridimensionerebbe l'applicazione, anche tutto sarebbe ridimensionato. Così ho pensato che forse se ho usato un semplice layout a griglia il mio problema sarebbe risolto, così ho deciso di fare quanto segue:
Il riquadro a schede avrà alcuni pannelli all'interno e quei pannelli seguirà il layout della griglia.
il pannello in basso seguirà il layout della griglia.
JFrame seguirà anche il layout della griglia.
Risultati:
Come si può vedere non è questo quello che volevo, i pulsanti sono troppo grandi e, anche se l'applicazione ridimensiona molto bene:
Anche i pulsanti vengono ridimensionati, ma rimangono troppo grandi. Mi piacerebbe essere in grado di impostare una piccola dimensione per i pulsanti (più precisamente il pannello in cui sono contenuti) e quando l'utente ridimensiona l'applicazione, i pulsanti si ridimensionano solo in orizzontale mai in verticale, il che significa che SOLO il pannello a schede crescerà più grande verticalmente. È possibile? Ho cercato e scoperto di gridbaglayout, ho iniziato a giocare un po ', ma non ho ottenuto nulla. Tutto quello che sono riuscito a fare è la seguente:
sembra buono, ma quando ho ridimensionare questo è ciò che ottengo:
grazie in anticipo.
+1 penso che questo funzionerà anche. Quindi 'setPreferredSize' per il pannello inferiore. Ciò renderà la sua altezza costante. Non impostare le dimensioni per il pannello centrale. In questo modo tutto il resto mantiene una dimensione mentre solo il centro si espande quando si espande la finestra. Inoltre, il pannello inferiore dovrebbe usare un 'FlowLayout'. – davidXYZ
@davidXYZ Non è necessario impostare la dimensione preferita sul pannello inferiore. l'impostazione della dimensione preferita è l'eccezione! –
@davidXYZ Potresti avere una lettura di [questo] (http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi) prima inizi a scherzare con le dimensioni pref/max/min – MadProgrammer