SWING - Layout
Il layout si riferisce alla disposizione dei componenti all'interno del contenitore. In un altro modo, si potrebbe dire che il layout sta posizionando i componenti in una posizione particolare all'interno del contenitore. Il compito di disporre i controlli viene svolto automaticamente dal Layout Manager.
Gestore layout
Il layout manager posiziona automaticamente tutti i componenti all'interno del contenitore. Anche se non si utilizza il gestore layout, i componenti sono comunque posizionati dal gestore layout predefinito. È possibile disporre i controlli manualmente, tuttavia, diventa molto difficile per i seguenti due motivi.
È molto noioso gestire un numero elevato di controlli all'interno del contenitore.
Di solito, le informazioni sulla larghezza e l'altezza di un componente non vengono fornite quando è necessario disporle.
Java fornisce vari gestori di layout per posizionare i controlli. Proprietà come dimensione, forma e disposizione variano da un gestore di layout all'altro. Quando la dimensione dell'applet o della finestra dell'applicazione cambia, anche la dimensione, la forma e la disposizione dei componenti cambiano in risposta, cioè i gestori di layout si adattano alle dimensioni dell'appletviewer o della finestra dell'applicazione.
Il gestore layout è associato a ogni oggetto Contenitore. Ogni layout manager è un oggetto della classe che implementa l'interfaccia LayoutManager.
Di seguito sono riportate le interfacce che definiscono le funzionalità dei gestori di layout.
Sr.No. | Interfaccia e descrizione |
---|---|
1 | LayoutManager L'interfaccia LayoutManager dichiara quei metodi che devono essere implementati dalla classe, il cui oggetto fungerà da gestore di layout. |
2 | LayoutManager2 Il LayoutManager2 è la sotto-interfaccia del LayoutManager. Questa interfaccia è per quelle classi che sanno come impaginare i contenitori in base all'oggetto vincolo di layout. |
Classi di AWT Layout Manager
Di seguito è riportato l'elenco dei controlli comunemente utilizzati durante la progettazione della GUI utilizzando AWT.
Sr.No. | LayoutManager e descrizione |
---|---|
1 | BorderLayout Il borderlayout dispone i componenti per adattarsi alle cinque regioni: est, ovest, nord, sud e centro. |
2 | CardLayout L'oggetto CardLayout considera ogni componente nel contenitore come una carta. È visibile solo una carta alla volta. |
3 | FlowLayout Il FlowLayout è il layout predefinito. Disegna i componenti in un flusso direzionale. |
4 | Layout della griglia Il GridLayout gestisce i componenti sotto forma di una griglia rettangolare. |
5 | GridBagLayout Questa è la classe di layout manager più flessibile. L'oggetto di GridBagLayout allinea il componente verticalmente, orizzontalmente o lungo la linea di base senza richiedere i componenti della stessa dimensione. |
6 | GroupLayout Il GroupLayout raggruppa gerarchicamente i componenti per posizionarli in un contenitore. |
7 | SpringLayout Un SpringLayout posiziona gli elementi figlio del contenitore associato in base a una serie di vincoli. |