Introduzione su GridBagLayout in Java
GridBagLayout è una delle più complesse, potenti e complesse offerte di layout manager Java. GridBagLayout allinea i componenti verticalmente, orizzontalmente o lungo la linea di base. I componenti possono avere la stessa larghezza o meno, in base al requisito. Mantengono e gestiscono celle dinamiche in cui l'area di visualizzazione è composta da una o più celle. Questi componenti sono associati all'istanza di GridBagConstraints in cui gli oggetti dei vincoli aiutano a disporre l'area di visualizzazione dei componenti sulla griglia. GridBagLayout è del pacchetto java.awt. Vediamo il costruttore, i metodi e l'implementazione di GridBagLayout nelle seguenti sezioni.
Costruttori di GridBagLayout in Java
Java.awt.GridBagLayout è dichiarato utilizzando la sintassi seguente.
public class GridBagLayout extends Object implements LayoutManager2, Serializable
GridBagLayout () è il costruttore di GridBagLayout che aiuta a creare un gestore di layout a griglia. Innanzitutto, creiamo l'oggetto per la classe GridBagLayout con l'aiuto di un costruttore senza argomenti
GridBagLayout obj = new GridBagLayout();
setLayout(obj);
Vediamo alcuni dei campi per la classe java.awt.GridBagLayout.
- PREFERRED_SIZE
Specifica la dimensione della griglia preferita dal componente. Qui, può anche essere il divario che deve essere utilizzato per un determinato valore di intervallo.
- DEFAULT_SIZE
Specifica la dimensione della griglia dal componente. Qui, può anche essere il divario che deve essere utilizzato per un determinato valore di intervallo.
- defaultConstraints
Qui viene mantenuta l'istanza dei vincoli della griglia che contiene i valori predefiniti.
- layoutInfo
I dettagli del layout di Gridbag sono contenuti in questo.
- rowWeights
Sovrascrivi alla riga i pesi si tengono qui.
- MAXGRIDSIZE
Aiuta a retrocompatibilità.
- rowHeights
Le sostituzioni vengono mantenute alle altezze minime della riga.
Metodi di GridBagLayout in Java
Di seguito sono riportati i diversi metodi di GridBagLayout che possono essere utilizzati per scopi diversi.
- removeLayoutComponent (Component cmpn)
Dal layout, il componente specificato viene rimosso.
- addLayoutComponent (Component cmpn, Object objcons)
L'oggetto specificato del vincolo viene aggiunto al layout del componente specificato.
- getLayoutAlignmentY (Contenitore cnt)
Viene restituito l'allineamento lungo l'asse y.
- addLayoutComponent (nome stringa, cmpn componente)
L'oggetto specificato del vincolo viene aggiunto al layout del componente specificato con un nome specifico.
- accordare()
I valori nel layout della griglia sono restituiti nella rappresentazione della stringa.
- getLayoutAlignmentX (Container cnt)
Viene restituito l'allineamento lungo l'asse x.
- getConstraints (Component cmpn)
Vengono restituiti i vincoli specificati del componente.
- maximumLayoutSize (Container cnt)
I componenti nel contenitore vengono restituiti con le dimensioni massime.
- minimumLayoutSize (Container cntmin)
I componenti nel contenitore vengono restituiti con le dimensioni minime.
- favoriteLayoutSize (Container cntpref)
I componenti nel contenitore vengono restituiti con le dimensioni preferite.
- organizzareGrid (Contenitore cnt)
Aiuta a organizzare la griglia.
- AdjustForGravity (GridBagConstraints cn, Rectangle rect)
A seconda della geometria dei vincoli, questo metodo regola i campi larghezza, x, altezza e y sui valori corretti.
- getLayoutDimensions ()
La larghezza della colonna e l'altezza delle righe sono determinate usando questo metodo.
- getLayoutInfo (Container cnt, int sizeflag)
È obsoleto e utilizzato per la compatibilità con le versioni precedenti.
- getLayoutOrigin ()
Determina l'origine dell'area di layout, nello spazio delle coordinate grafiche del contenitore di destinazione.
- getLayoutWeights ()
I pesi della colonna e l'altezza delle file sono determinati usando questo metodo.
- getMinSize (Container cnt, GridBagLayoutInfo inf)
Sulla base dei dettagli ottenuti da getLayoutInfo, viene restituita la dimensione minima del master.
- invalidateLayout (Container cnt)
Se nel gestore del layout sono presenti alcune informazioni memorizzate nella cache, il layout viene invalidato.
- layoutContainer (Container cnt)
Il contenitore specificato verrà disposto utilizzando questo layout a griglia.
- Posizione del punto (int x, int y)
Questo metodo identifica la cella che contiene il punto menzionato usando xey.
- lookupConstraints (Component cmp)
I vincoli del componente menzionato vengono recuperati.
- setConstraints (Component cmp, GridBagConstraints const)
I vincoli del componente citato sono impostati nel layout.
Programma per implementare GridBagLayout in Java
Ora, vediamo i programmi per implementare GridBagLayout in Java.
Programma n. 1
// Java program to implement GridBagLayout layout manager
//import the packages needed
import java.awt.Button;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.*;
//GridExample class extends JFrame
public class GridExample extends JFrame(
//main method
public static void main(String() args) (
//object of the class GridExample
GridExample ge = new GridExample();
)
//constructor of class GridExample
public GridExample() (
// Object of GridBagLayout
GridBagLayout gl = new GridBagLayout();
// Object of GridBagConstraints
GridBagConstraints gc = new GridBagConstraints();
// GridBagLayout is set
setLayout(gl);
// Method to set JFrame Title.
setTitle("Example for GridBag Layout ");
GridBagLayout ll = new GridBagLayout();
this.setLayout(ll);
//components in horizontal
gc.fill = GridBagConstraints.HORIZONTAL;
//left most row and top most column
gc.gridx = 0;
gc.gridy = 0;
//Button A added
this.add(new Button("Button A"), gc);
gc.gridx = 1;
gc.gridy = 0;
//Button B added
this.add(new Button("Button B"), gc);
gc.fill = GridBagConstraints.HORIZONTAL;
//increase component height by 20 pixels
gc.ipady = 20;
gc.gridx = 0;
gc.gridy = 1;
//Button C added
this.add(new Button("Button C"), gc);
gc.gridx = 1;
gc.gridy = 1;
///Button D added
this.add(new Button("Button D"), gc);
gc.gridx = 0;
gc.gridy = 2;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.gridwidth = 2;
//Button E added
this.add(new Button("Button E"), gc);
// set the size
setSize(200, 300);
setPreferredSize(getSize());
//GUI visible to user
setVisible(true);
//exit on clicking close button
setDefaultCloseOperation(EXIT_ON_CLOSE);
)
)
Uscita campione:
Qui, viene creato un GridBagLayout con cinque pulsanti come A, B, C, D ed E. Vengono utilizzati diversi metodi per impostare dimensioni, titolo, visibilità della GUI, ecc.
Programma n. 2
//Java program to implement GridBagLayout
import java.awt.*;
import javax.swing.*;
public class GridExample (
//main method
public static void main(String() args) (
//object of JFrame
JFrame jf = new JFrame();
//exit on clicking close button
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//object of container
Container cn = jf.getContentPane();
//set layout
cn.setLayout(new GridBagLayout());
//object of constraints
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = 0;
gc.gridy = GridBagConstraints.RELATIVE;
cn.add(new JButton("Button A"));
cn.add(new JButton("Button B"));
gc.fill = GridBagConstraints.HORIZONTAL;
cn.add(new JButton("Button c"));
// set the size
jf.setSize(400, 300);
//GUI visible to user
jf.setVisible(true);
)
)
Uscita campione:
Questo programma implementa GridBagLayout in un altro metodo. Ma qui il titolo non è impostato e sono presenti solo 3 pulsanti.
Conclusione
GridBagLayout è uno dei gestori di layout potenti, flessibili e complessi in Java che offre il pacchetto java.awt. Allinea i componenti verticalmente, orizzontalmente o lungo la linea. Sintassi, costruttore, metodi e implementazione di GridBagLayout sono spiegati in questo documento.
Articoli consigliati
Questa è una guida a GridBagLayout in Java. Qui discutiamo i metodi e il programma per implementare GridBagLayout in Java. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -
- Layout in Java
- JDialog in Java
- Annotazioni Java
- BorderLayout in Java
- Strumenti di distribuzione Java
- JFrame in Java
- Layout HTML