Gridlayout na Javi - Vrste konstruktorjev - Primer z izvajanjem

Kazalo:

Anonim

Uvod v GridLayout na Javi

Upravitelji postavitve se v grafičnem programiranju uporabljajo za določanje komponent na določen način. Uporabljajo se za določitev velikosti in položaja komponente v posodi. Na voljo so različne vrste upraviteljev postavitve. GridLayout je ena izmed njih. GridLayout na Javi deli vsebnik v mrežo celic, imenovanih vrstic in stolpcev. Komponente razporedi v pravokotno mrežo. Vsaka celica lahko vsebuje samo eno komponento, ki so enake velikosti in enakomerno povezane.

Primer: 3 vrstice in 4 stolpci

1234
5678
9101112

Pogosti koraki-rešetka v Javi

  1. Nastavitev posode s konstruktorjem JFrame:
    JFrame okvir = nov JFrame ();
  2. Nastavitev upravitelja postavitve plošče s konstruktorjem JPanel:
    Plošča JPanel = nov JPanel ();
  3. Dodajanje komponent v vsebnik:
    panel.add (gumb); frame.add (plošča);
  4. Nastavitev orientacije komponente:
    panel.setComponentOrientation (ComponentOrientation.LEFT_TO_RIGHT);
    Privzeta vrednost lastnosti ComponentOrientation je ta, da je orientacija komponent vodoravna in od leve proti desni.

Vrste konstruktorjev s primerom

Spodaj so vrste konstruktorjev s primeri in kodo.

1. GridLayout ()

Prazen konstruktor z enim stolpcem na komponento v eni vrstici.

Koda

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

Izhod:

2. GridLayout (int vrstice, int stolpci)

Konstruktor z določenim številom vrstic in stolpcev.
Parametri:
vrstic - število vrstic (vrednost nič pomeni poljubno število vrstic).
stolpcev - število stolpcev (vrednost nič pomeni poljubno število stolpcev).

Koda

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

Izhod:

3. GridLayout (int vrstice, int stolpci, int horizontalna vrzel, int navpična vrzel).

Konstruktor z določenim številom vrstic in stolpcev, vodoravnimi in navpičnimi vrzeli med vrsticami in stolpci.
Parametri:
vrstic - število vrstic (vrednost nič pomeni poljubno število vrstic).
stolpcev - število stolpcev (vrednost nič pomeni poljubno število stolpcev).
vodoravni razmik - med vsakim stolpcem
navpična vrzel - med vsako od vrstic
Vrzi:
IllegalArgumentException- če je vrednost vrstic in stolpcev nastavljena na nič.

Koda

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

Izhod:

Primer z izvajanjem

Primer: V spodnjem programu se vsakič, ko se učinek preklopa z miško nad celico mreže, spremeni barva iz črne v belo.

Koda

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

Izhod:

Zaključek

Gridlayout na Javi je uporaben, če želite narediti mreže v posodi skupaj z enim pogojem, tj. Da je vsaka celica omrežja enake velikosti in enako razporejena.
Spodaj so navedene tudi druge razpoložljive metode:
1. getRows () - Pridobite število vrstic.
2. setRows (int i) - nastavite število vrstic na določeno vrednost.
3. getColumn () - Pridobite število stolpcev.
4. setColumns (int i) - nastavite število stolpcev na določeno vrednost.
5. getHgap () - Določi vodoravno vrzel med komponentami.
6. setHgap (int i) - nastavite vodoravno vrzel med komponentami na določeno vrednost.
7.getVgap () - Določi navpično vrzel med komponentami.
8. setVgap (int i) - nastavite navpično vrzel med komponentami na določeno vrednost.
9. addLayoutComponent (ime niza, Component comp) - v postavitev doda določeno komponento z navedenim imenom.
10. removeLayoutComponent (Component comp) - odstrani določeno komponento iz postavitve vsebnika.
11. preferenceLayoutSize (nadrejeni vsebnik) - Določi želeno velikost vsebnika.
12. minimalLayoutSize (nadrejeni vsebnik) - Določi najmanjšo velikost vsebnika.
13. layoutContainer (nadrejeni vsebnik) - položi določen vsebnik.

14. toString () - Vrne vrstico predstavitev vrednosti postavitve omrežja.

Priporočeni članki

To je vodnik za Gridlayout na Javi. Tu smo obravnavali vrste konstruktorjev s primeri, kode z izvajanjem. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Združi sortiranje v Javi
  2. Postavitev v Javi
  3. Najboljši Java Compilers
  4. Destruktor na Javi
  5. Postavitev HTML-ja