Gridlayout Java - Rakennustyypit - Esimerkki toteutuksesta

Sisällysluettelo:

Anonim

Johdatus GridLayoutiin Java-sovelluksessa

Asetteluohjaimia käytetään graafisessa ohjelmoinnissa komponenttien järjestämiseen tietyllä tavalla. Niitä käytetään määrittämään komponentin koko ja sijainti säiliössä. Saatavilla on erityyppisiä asetteluhallintaa. GridLayout on yksi niistä. GridLayout Java -sovelluksessa jakaa säilön solujen ruudukkoksi, jota kutsutaan riveiksi ja sarakkeiksi. Se järjestää komponentit suorakulmaiseen ristikkoon. Jokaiseen soluun mahtuu vain yksi komponentti, samankokoinen ja tasa-arvoisesti keskenään.

Esimerkki: 3 riviä ja 4 saraketta

1234
5678
9101112

Yleiset vaiheet-Gridlayout Java-versiossa

  1. Säiliön asettaminen JFrame-konstruktorilla:
    JFrame-kehys = uusi JFrame ();
  2. Paneelin asetteluhallinnan asettaminen JPanel-rakentajalla:
    JPanel-paneeli = uusi JPanel ();
  3. Komponenttien lisääminen säilöön:
    panel.add (painike) frame.add (paneeli);
  4. Komponentin suunnan asettaminen:
    panel.setComponentOrientation (ComponentOrientation.LEFT_TO_RIGHT);
    ComponentOrientation -ominaisuuden oletusarvo on, että komponenttien suunta on vaakatasossa ja vasemmalta oikealle.

Rakennetyypit esimerkillä

Alla on tyypit rakentajista, joilla on esimerkkejä ja koodi.

1. GridLayout ()

Tyhjä rakentaja yhdellä sarakkeella komponenttia kohti yhdellä rivillä.

Koodi

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

lähtö:

2. GridLayout (int-rivit, int-sarakkeet)

Rakentaja, jolla on määritetty määrä rivejä ja sarakkeita.
parametrit:
rivit - rivien lukumäärä (arvo nolla tarkoittaa mitä tahansa rivien lukumäärää).
sarakkeet - sarakkeiden lukumäärä (arvo nolla tarkoittaa mitä tahansa sarakkeiden lukumäärää).

Koodi

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

lähtö:

3. GridLayout (int-rivit, int-sarakkeet, int-vaakaväli, int-pystysuuntainen rako).

Rakentaja, jolla on määritetty määrä rivejä ja sarakkeita, vaaka- ja pystysuuntaiset raot rivien ja sarakkeiden välillä.
parametrit:
rivit - rivien lukumäärä (arvo nolla tarkoittaa mitä tahansa rivien lukumäärää).
sarakkeet - sarakkeiden lukumäärä (arvo nolla tarkoittaa mitä tahansa sarakkeiden lukumäärää).
vaakasuora rako - kunkin sarakkeen välillä
pystysuuntainen rako - kunkin rivin välillä
heittoja:
IllegalArgumentException - jos sekä rivien että sarakkeiden arvo on nolla.

Koodi

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

lähtö:

Esimerkki toteutuksesta

Tapaus: Alla olevassa ohjelmassa aina, kun hiiren osoittimen vaikutus tapahtuu ruudukon solussa, sen väri muuttuu mustasta valkoiseksi.

Koodi

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

lähtö:

johtopäätös

Gridlayout Java -sovelluksessa on hyödyllinen, kun haluat tehdä ruudukkoja säilytysastiassa yhden ehdon kanssa, ts. Jokainen ruudukon solu on samankokoinen ja tasavälein.
On myös muita käytettävissä olevia menetelmiä, kuten alla mainitaan:
1. getRows () - Hanki rivien määrä.
2. setRows (int i) - Aseta rivien määrä määritettyyn arvoon.
3. getColumns () - Hanki sarakkeiden lukumäärä.
4. setColumns (int i) - Aseta sarakkeiden määrä määritettyyn arvoon.
5. getHgap () - saa vaakavälin komponenttien välillä.
6. setHgap (int i) - Aseta komponenttien välinen vaakaraja määritettyyn arvoon.
7.getVgap () - saa pystysuuntaisen raon komponenttien välillä.
8. setVgap (int i) - Aseta komponenttien välinen pystysuuntainen etäisyys määritettyyn arvoon.
9. addLayoutComponent (merkkijonon nimi, komponenttiyhdistelmä) - Lisää määritetyn komponentin, jolla on määritetty nimi, asetteluun.
10. removeLayoutComponent (Component comp) - poistaa määritetyn komponentin säilöasettelusta.
11. preferLayoutSize (säilövanhempi) - määrittää säiliön suositeltavan koon.
12. minimumLayoutSize (Container parent) - Määrittää säilön vähimmäiskoko.
13. layoutContainer (Container parent) - asettaa määritetyn astian.

14. toString () - Palauttaa ruudukon asetteluarvojen merkkijonon.

Suositellut artikkelit

Tämä on opas Gridlayoutiin Java-sovelluksessa. Täällä olemme keskustelleet rakentajatyypeistä esimerkeillä, koodeista toteutuksen kanssa. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja-

  1. Yhdistä Lajittele Java
  2. Asettelu Java-tilassa
  3. Parhaat Java-kääntäjät
  4. Tuhoaja Java
  5. HTML-asettelu