Panoramica di Flowlayout in Java
Prima di approfondire i dettagli di FlowLayout in Java, è necessario rivedere alcuni argomenti di base richiesti per FlowLayout:
Java AWT : AWT è un'API per la creazione di GUI o applicazioni basate su finestre.
Alcuni dei concetti di base riguardanti la gerarchia AWT sono i seguenti:
1. Contenitore : il contenitore è una classe che contiene tutti i componenti come pulsante, campo di testo, barra del titolo, barra dei menu, ecc.
2. Componenti : i componenti sono gli oggetti della GUI come pulsanti, etichetta, campo di testo, lista di controllo.
Esistono alcune funzioni dei componenti di base come:
- public void add (Componente c): aggiunge un componente su questo componente.
- public void setSize (int width, int height): imposta la larghezza e l'altezza del componente.
- public void setLayout (LayoutManager m): definisce il layout manager per il componente.
- public void setVisible (stato booleano): definisce la visibilità del componente, per impostazione predefinita è falso.
3. Pannello : il pannello è una classe contenitore. Crea uno spazio per un'applicazione in cui tutti i componenti possono essere inseriti. Eredita la classe del contenitore.
Il pannello non contiene la barra dei menu o la barra del titolo ma può contenere altri componenti come campi di testo, pulsanti.
4. Frame : Frame è una classe contenitore. Contiene una barra dei menu e una barra del titolo e può contenere anche altri componenti.
5. Gestore layout : un gestore layout è un oggetto che implementa l'interfaccia LayoutManager per determinare le dimensioni e la posizione dei componenti all'interno del contenitore.
Sono disponibili molti tipi di layout manager, ognuno con le proprie capacità e attività specifiche:
- FlowLayout.
- BorderLayout.
- CardLayout.
- BoxLayout.
- Layout della griglia.
- GridBagLayout.
- GroupLayout.
- SpringLayout.
Definizione FlowLayout
- FlowLayout è uno dei gestori di layout forniti da AWT utilizzati nelle applet per disporre i componenti da sinistra a destra proprio come le parole di un paragrafo.
- Quando no. Di componenti aumenta rispetto alla dimensione della finestra, quindi per impostazione predefinita, Java abilita FlowLayout per organizzare i componenti per adattarsi nel riquadro della finestra.
- FlowLayout è il layout predefinito fornito dal gestore del layout. Quando non si seleziona alcun layout, il layout verrà impostato per fluire.
- FlowLayout utilizza alcune impostazioni predefinite come l'allineamento centrale con spazi di cinque pixel tra i componenti in orizzontale e in verticale.
L'allineamento è determinato dalla proprietà "align". E il campo di allineamento è il seguente:
- SINISTRA: allinea i componenti a sinistra.
- DESTRA: allinea i componenti a destra.
- CENTRO: allinea i componenti al centro.
- LEADING: sarà sul bordo anteriore del contenitore, cioè a sinistra per l'orientamento da sinistra a destra.
- RIMORCHIO: sarà sul bordo posteriore del contenitore, cioè a destra per sinistra a destra
Funzioni comunemente utilizzate di FlowLayout
- setAlignment (int align): imposta il rispettivo allineamento al layout del contenitore.
- getAlignment (): ottiene l'allineamento del layout del contenitore.
- addLayoutComponent (): aggiunge il particolare componente al layout.
- setTitle (testo stringa): imposta il titolo del contenitore con il testo specificato.
Costruttori in FlowLayout
- FlowLayout (): crea un'istanza di FlowLayout come allineata al centro e con uno spazio di 5 pixel tra i componenti.
- FlowLayout (int align): crea un FlowLayout con un determinato allineamento con uno spazio di 5 pixel tra i componenti.
- FlowLayout (int align, int horizontalGap, int verticalGap): costruisce un FlowLayout con un determinato allineamento e con un determinato spazio orizzontale e verticale tra i componenti.
- Questo costruttore si allinea con il campo di allineamento specificato come DESTRA, SINISTRA o CENTRO e offre anche l'opzione per l'aggiunta di spazio orizzontale e spazio verticale tra i componenti.
Esempio di layout del flusso:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Layout extends JFrame
(
private JButton lb;
private JButton rb;
private JButton cb;
private FlowLayout layout;
private Container container;
public Layout()
(
super("the title");
layout = new FlowLayout();
container = getContentPane();
setLayout(layout); //left alignment
lb = new JButton("left");
add(lb);
lb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.LEFT);
layout.layoutContainer(container);
)
)
);
//right alignment
rb = new JButton("right");
add(rb);
rb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.RIGHT);
layout.layoutContainer(container);
)
)
);
//center alignment
cb = new JButton("center");
add(cb);
cb.addActionListener(
new ActionListener()(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.CENTER);
layout.layoutContainer(container);
)
)
);
)
)
Metodo principale di Flowlayout in Java
import javax.swing.*;
public class Test
(
public static void main(String() args)
(
Layout l = new Layout();
l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l.setSize(300, 100);
l.setVisible(true);
)
)
Produzione:
La spiegazione per il codice sopra
- Nel codice sopra, avevamo dichiarato 3 pulsanti con l'aiuto di JButton come lb, rb e cb.
- Quando si crea l'istanza della classe, è necessario visualizzare i pulsanti, quindi aggiungere i pulsanti a un contenitore nel costruttore della classe stessa.
- Estendiamo la classe JFrame
- Con le funzioni setLayout () stiamo impostando il layout come flowlayout.
- Per l'allineamento a sinistra, quando si fa clic sul pulsante denominato "left", i pulsanti nel riquadro della finestra devono essere allineati a sinistra.
- Affinché funzioni, il particolare pulsante viene aggiunto sul pannello della finestra e all'evento clic di quel pulsante, il layout verrà impostato su Sinistra.
- Nel codice sopra, setAlignment (FlowLayout.LEFT) imposterà l'allineamento del layout del pannello a sinistra. FlowLayout.LEFT è il campo disponibile per l'allineamento. Allo stesso modo, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.TRAILING, FlowLayout.LEADING sono alcuni degli altri campi utilizzati per impostare l'allineamento.
- Si noti che questi campi di allineamento stanno per allineare tutti i componenti a sinistra, a destra o al centro.
- Non dipende dalle dimensioni della tua finestra. Regola e allinea i tuoi componenti con l'allineamento rispettoso.
- Come abbiamo fatto per l'allineamento a sinistra in modo simile, abbiamo sviluppato per l'allineamento centrale e destro. Infine, abbiamo sviluppato Test Class per scrivere il metodo principale per testare il nostro codice Java FlowLayout.
- Creando un'istanza della classe Layout nel metodo principale impostiamo la dimensione della finestra e la visibilità del componente su true.
Conclusione - Flowlayout in Java
Questo tutorial ti dà l'idea di base del perché Java ha FlowLayout e quali sono le sue funzionalità. FlowLayout è il layout predefinito a causa della sua facilità e precisione di allineamento. Ricorda che ogni concetto diventa ancora più chiaro quando scrivi il codice e lo pratichi. Lascia che l'errore arrivi nel tuo codice, non esitare a mantenere la codifica e a capire il concetto con precisione.
Articoli consigliati
Questa è una guida a Flowlayout in Java. Qui discutiamo i costruttori e le funzioni comunemente usate di FlowLayout. Puoi anche leggere il seguente articolo per saperne di più -
- JPanel in Java
- Scambiare in Java
- Fattoriale in Java
- Ordinamento in Java
- Guida completa all'ordinamento in C # con esempi
- Layout HTML
- Funzione di ordinamento in Python con esempi
- Guida completa al fattoriale in C #