Uvod u GridLayout na Javi

Upravitelji izgleda koriste se u grafičkom programiranju za organiziranje komponenti na određeni način. Oni se koriste za određivanje veličine i položaja komponente u spremniku. Dostupne su različite vrste upravitelja izgleda. GridLayout je jedan od njih. GridLayout u Javi dijeli spremnik u mrežu ćelija zvanih redaka i stupaca. Sastavlja komponente u pravokutnoj mreži. Svaka ćelija može smjestiti samo jednu komponentu, jednake veličine i jednake međusobno.

Primjer: 3 reda i 4 stupca

1234
5678
9101112

Uobičajeni koraci-rešetka na Javi

  1. Postavljanje spremnika pomoću konstruktora JFrame:
    JFrame frame = novi JFrame ();
  2. Postavljanje upravitelja izgleda panela pomoću JPanel konstruktora:
    JPanel ploča = novi JPanel ();
  3. Dodavanje komponenti u spremnik:
    panel.add (gumb) frame.add (panel);
  4. Postavljanje orijentacije komponente:
    panel.setComponentOrientation (ComponentOrientation.LEFT_TO_RIGHT);
    Zadana vrijednost svojstva ComponentOrientation je da je orijentacija komponenata vodoravna i slijeva na desno.

Vrste konstruktora s primjerom

Ispod su vrste konstruktora s primjerima i kodom.

1. GridLayout ()

Prazan konstruktor s jednim stupcem po komponenti u jednom retku.

Kodirati

import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout());JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Izlaz:

2. GridLayout (int redovi, int stupci)

Konstruktor s određenim brojem redaka i stupaca.
parametri:
redaka - broj redaka (vrijednost nula znači bilo koji broj redaka).
stupaca - broj stupaca (vrijednost nula znači bilo koji broj stupaca).

Kodirati

import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 2));
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Izlaz:

3. GridLayout (int redovi, int stupci, int horizontalni jaz, int vertikalni jaz).

Konstruktor s određenim brojem redaka i stupaca, vodoravnim i okomitim razmacima između redova i stupaca.
parametri:
redaka - broj redaka (vrijednost nula znači bilo koji broj redaka).
stupaca - broj stupaca (vrijednost nula znači bilo koji broj stupaca).
vodoravni razmak - između svakog stupca
okomiti razmak - između svakog od redaka
baca:
IllegalArgumentException- ako je vrijednost oba redaka i stupaca postavljena na nulu.

Kodirati

import java.awt.*;import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 2, 5, 10));
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Izlaz:

Primjer s provedbom

Slučaj: U donjem programu, kad god se efekt prelaska mišem dogodi preko ćelije mreže, njezina se boja mijenja iz crne u bijelu.

Kodirati

import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class gridLayout extends JPanel(
public gridLayout() (
super(new GridLayout(3, 3));
JLabel label1, label2, label3, label4, label5, label6, label7, label8, label9;
//create the lables
label1 = new JLabel();
label2 = new JLabel();
label3 = new JLabel();
label4 = new JLabel();
label5 = new JLabel();
label6 = new JLabel();
label7 = new JLabel();
label8 = new JLabel();
label9 = new JLabel();
//set the background color for each label
label1.setBackground(Color.BLACK);
label1.setOpaque(true);
label2.setBackground(Color.BLACK);
label2.setOpaque(true);
label3.setBackground(Color.BLACK);
label3.setOpaque(true);
label4.setBackground(Color.BLACK);
label4.setOpaque(true);
label5.setBackground(Color.BLACK);
label5.setOpaque(true);
label6.setBackground(Color.BLACK);
label6.setOpaque(true);
label7.setBackground(Color.BLACK);
label7.setOpaque(true);
label8.setBackground(Color.BLACK);
label8.setOpaque(true);
label9.setBackground(Color.BLACK);
label9.setOpaque(true);
//add mouse listeners for each label
label1.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label1.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label1.setBackground(Color.BLACK);
)
));
label2.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label2.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label2.setBackground(Color.BLACK);
)
));
label3.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label3.setBackground(Color.WHITE);)
public void mouseExited(MouseEvent me) (
label3.setBackground(Color.BLACK);
)
));
label4.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label4.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label4.setBackground(Color.BLACK);)
));
label5.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label5.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label5.setBackground(Color.BLACK);
)));
label6.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label6.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label6.setBackground(Color.BLACK);
)
));
label7.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label7.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label7.setBackground(Color.BLACK);
)
));
label8.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label8.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label8.setBackground(Color.BLACK);
)
));label9.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label9.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label9.setBackground(Color.BLACK);
)
));
//add the labels
add(label1);
add(label2);
add(label3);
add(label4);
add(label5);
add(label6);
add(label7);
add(label8);
add(label9);
)
private static void createAndShowGUI() (
//create and setup the container
JFrame frame = new JFrame("Gridlayout Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
//add content to the container
frame.add(new gridLayout());
//display the container
frame.pack();
frame.setVisible(true);
)public static void main(String() args) (
createAndShowGUI();
)
)

Izlaz:

Zaključak

Gridlayout na Javi koristan je kada želite napraviti rešetke u spremniku zajedno s jednim uvjetom, tj. Svaka ćelija rešetke je jednake veličine i jednako raspoređenih.
Postoje i druge dostupne metode kao što je spomenuto u nastavku:
1. getRows () - Dobijte broj redaka.
2. setRows (int i) - Postavite broj redova na navedenu vrijednost.
3. getColumn () - Dohvatite broj stupaca.
4. setColumn (int i) - Postavite broj stupaca na navedenu vrijednost.
5. getHgap () - Postavlja vodoravni razmak između komponenata.
6. setHgap (int i) - Postavite vodoravni razmak između komponenata na navedenu vrijednost.
7.getVgap () - Postavlja okomiti razmak između komponenata.
8. setVgap (int i) - Postavite vertikalni razmak između komponenata na navedenu vrijednost.
9. addLayoutComponent (Naziv niza, Component comp) - dodaje navedenu komponentu s navedenim nazivom u izgled.
10. removeLayoutComponent (Component comp) - uklanja navedenu komponentu iz izgleda spremnika.
11. preferenceLayoutSize (nadređeni spremnik) - Određuje preferiranu veličinu spremnika.
12. minimalLayoutSize (nadređeni spremnik) - Određuje minimalnu veličinu spremnika.
13. layoutContainer (nadređeni spremnik) - Iznosi navedeni spremnik.

14. toString () - Vraća nizove vrijednosti rasporeda rešetke.

Preporučeni članci

Ovo je vodič za Gridlayout na Javi. Ovdje smo s primjerima razgovarali o vrstama konstruktora, kodovima s implementacijom. Možete i proći kroz naše druge povezane članke da biste saznali više -

  1. Spajanje sortiranja u Javi
  2. Izgled u Javi
  3. Najbolji Java sastavljači
  4. Destruktor na Javi
  5. Izgled HTML-a

Kategorija: