Sissejuhatus Java rakendusse GridLayout

Graafilises programmeerimises kasutatakse paigutuse haldureid komponentide konkreetsel korraldamisel. Neid kasutatakse komponendi suuruse ja asukoha määramiseks konteineris. Saadaval on erinevat tüüpi paigutusehaldurid. GridLayout on üks neist. GridLayout Java jagab konteineri lahtrite ruudustikuks, mida nimetatakse ridadeks ja veergudeks. See paigutab komponendid ristkülikukujuliseks võreks. Iga lahter mahutab ainult ühe komponendi, mis on võrdse suurusega ja üksteisega võrdsed.

Näide: 3 rida ja 4 veergu

1234
5678
9101112

Java tavalised sammud - Gridlayout

  1. Konteineri seadistamine JFrame'i konstrukatori abil:
    JFrame frame = uus JFrame ();
  2. Paneeli paigutuse halduri seadistamine JPaneli konstruktori abil:
    JPaneli paneel = uus JPanel ();
  3. Komponentide lisamine konteinerisse:
    paneel.add (nupp); raam.add (paneel);
  4. Komponendi orientatsiooni määramine:
    panel.setComponentOrientation (ComponentOrientation.LEFT_TO_RIGHT);
    Omaduse ComponentOrientation vaikeväärtus on see, et komponentide orientatsioon on horisontaalne ja vasakult paremale.

Konstruktorite tüübid näitega

Allpool on toodud konstruktorite tüübid koos näidete ja koodiga.

1. GridLayout ()

Tühi konstruktor, milles ühes reas on üks veerg komponendi kohta.

Kood

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);
)
)

Väljund:

2. GridLayout (int read, int veerud)

Konstruktor kindla arvu ridade ja veergudega.
Parameetrid:
read - ridade arv (väärtus null tähendab suvalist ridade arvu).
veerud - veergude arv (väärtus null tähendab suvalist veergude arvu).

Kood

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);
)
)

Väljund:

3. GridLayout (int read, int veerud, int horisontaalne vahe, int vertikaalne vahe).

Konstruktor, kellel on kindlaksmääratud arv ridu ja veerge, horisontaalsed ja vertikaalsed lüngad ridade ja veergude vahel.
Parameetrid:
read - ridade arv (väärtus null tähendab suvalist ridade arvu).
veerud - veergude arv (väärtus null tähendab suvalist veergude arvu).
horisontaalne vahe - iga veeru vahel
vertikaalne vahe - iga rea ​​vahel
Viskab:
IllegalArgumentException - kui nii ridade kui ka veergude väärtus on seatud nulli.

Kood

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);
)
)

Väljund:

Näide koos rakendamisega

Juhtum: Allolevas programmis, kui hiirekursori efekt toimub ruudustiku kohal, muutub selle värv mustast valgeks.

Kood

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();
)
)

Väljund:

Järeldus

Gridlayout Java-s on kasulik siis, kui soovite teha ruudustikke konteineris koos ühe tingimusega, st ruudustiku kõik lahtrid on võrdse suurusega ja võrdse vahega.
Saadaval on ka teisi meetodeid, nagu allpool mainitud:
1. getRows () - ridade arvu hankimine.
2. setRows (int i) - määrake ridade arv määratud väärtusele.
3. getColumns () - veergude arvu hankimine.
4. setColumns (int i) - veergude arvu määramine määratud väärtusele.
5. getHgap () - loob komponentide horisontaalse vahe.
6. setHgap (int i) - määrake komponentide horisontaalne vahe määratud väärtusele.
7.getVgap () - genereerib komponentidevahelise vertikaalvahe.
8. setVgap (int i) - määrake komponentide vaheline vertikaalvahe valitud väärtuseni.
9. addLayoutComponent (String name, Component comp) - lisab paigutusele määratud komponendi koos määratud nimega.
10. removeLayoutComponent (Component comp) - eemaldab määratud komponendi konteineri paigutusest.
11. preferLayoutSize (konteineri vanem) - määrab konteineri eelistatud suuruse.
12. minimumLayoutSize (konteineri vanem) - määrab konteineri minimaalse suuruse.
13. layoutContainer (konteineri vanem) - paigutab määratud konteineri.

14. toString () - tagastab ruudustiku väärtuste stringi esituse.

Soovitatavad artiklid

See on Java Gridlayouti juhend. Siin oleme arutanud konstruktorite tüüpe näidetega, koode koos juurutamisega. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Ühenda sortimine Java-s
  2. Paigutus Java-s
  3. Parimad Java kompilaatorid
  4. Hävitaja Java-s
  5. HTML-i paigutus

Kategooria: