Úvod do JPanel v Jave

JPanel je najjednoduchšia ľahká trieda kontajnerov, ktorá je súčasťou balíka java.swing. Môže zoskupovať alebo ukladať skupinu komponentov, hlavne na vytvorenie používateľského rozhrania. Je to podobné panelu v nástroji Abstraktné okno (AWT). JPanel neobsahuje orámovanie, záhlavie alebo panel s ponukami. Aj keď existuje niekoľko manažérov rozloženia, FlowLayout je predvolený manažér rozloženia JPanel a zdedí triedu JComponent. Ak má byť komponent pripojený k aplikácii, JPanel poskytuje priestor. Pochopme JPanel podrobne v nasledujúcich častiach.

Konštruktori JPanel v Jave

JPanel je možné deklarovať pomocou nasledujúcej syntaxe:

public class JPanel extends JComponent implements Accessible

JPanel nebude úplný bez konštruktorov. Nasledujú rôzne konštruktory používané v JPanel.

  • JPanel (): Pretože FlowLayout je predvolený správca rozloženia, vytvorí sa nový panel s FlowLayout, ak sa tento konštruktor volá.
  • JPanel (LayoutManager lm): Nový JPanel sa vytvorí pomocou manažéra rozloženia ako lm.
  • JPanel (Boolean isDoubleBuffered): Vytvorí sa nový JPanel s uvedenou stratégiou ukladania do vyrovnávacej pamäte. Hodnota môže byť na základe požiadavky pravdivá alebo nepravdivá.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): Nový JPanel sa vytvorí so špecifikovanou lm manažérom rozloženia a stratégiou ukladania do vyrovnávacej pamäte.

Funkcie použité v JPanel

Niektoré z bežných funkcií používaných v JPanel sú:

  • getUIClassID (): Názov triedy Look and feel (L & F), ktorý vykresľuje túto zložku.
  • add (Component comp): Component comp sa pridá do určeného kontajnera.
  • getAccessibleContext (): Vráti sa AccessibleContext súvisiaci s JPanel.
  • getUI (): Objekt typu Look and feel (L & F), ktorý vykresľuje túto zložku, je vrátený.
  • setLayout (LayoutManager lm): Rozloženie kontajnera je nastavené na zadaného manažéra rozloženia lm.
  • setUI (PanelUI Pui): Objekt typu Look and feel (L & F), ktorý vykresľuje túto zložku.
  • updateUI (): Aktuálna hodnota vzhľadu a cítenia (L & F) je resetovaná pomocou vlastnosti UI.
  • paramString (): Reťazcová reprezentácia JPanel je vrátená.

Ako vytvoriť panel v Jave?

Ako už bolo uvedené, trieda JPanel je balíka java.swing a podtrieda java.swing.JComponent.

1. JPanel objekt je vytvorený ako je uvedené nižšie.

JPanel jp=new JPanel(); //jp is the object

2. Vytvorte triedu, ktorá presahuje triedu JPanel.

public class jpclass extends JPanel()
(
//code to add the components
)

3. Manažér rozloženia môže byť uvedený alebo nie na základe požiadavky.

Pretože FlowLayout je predvolené, môžeme v príklade použiť niektoré ďalšie rozloženia.

JPanel jp=new JPanel(new BorderLayout);
JPanel jp=new JPanel(new GridBagLayout);

4. Stratégiu dvojitého ukladania do vyrovnávacej pamäte je možné použiť pomocou konštruktora JPanel (boolean isdoubleBuffered)

JPanel jp=new JPanel(true);//double buffering enables
JPanel jp=new JPanel(false); //double buffering disables

Po vytvorení panela v Jave nastavme správcu rozloženia pre JPanel.

Na nastavenie rozloženia použite metódu setLayout (LayoutManager lm).

JPanel jp=new JPanel(new GridBagLayout);

Tu sa ako rozloženie nastaví GridBagLayout. Ak používame syntax ako

JPanel jp=new JPanel();

Potom je rozloženie predvolene nastavené ako FlowLayout.

Kroky na pridanie komponentov do kontajnera sú vysvetlené v nasledujúcej časti.

Ako pridať komponenty do Java?

Na pridanie komponentov, ako sú tlačidlá, JLabel, JTextfield atď., Použijeme metódu add (). Pretože existujú rôzne verzie pre add (), použitá metóda závisí od manažéra rozloženia panela.

1. Metóda Add (Component cmp) sa použije pre manažérov rozloženia, ako sú GridLayout, FlowLayout, SpringLayout, BoxLayout.

JLabel jl = new JLabel("Username: ");
JTextField un= new JTextField(20);
jp.add(jl);
jp.add(un);

jp je objektom JPanel.

2. Metóda Add (Component cmp, Object obj) sa použije pre manažérov rozloženia ako CardLayout, BorderLayout alebo GridBagLayout.

JPanel jp = new JPanel(new BorderLayout());
JLabel jl = new JLabel("Username:");
JTextField un = new JTextField(40);
jp.add(label, BorderLayout.NORTH);
jp.add(userName, BorderLayout.WEST);

Ak používame GridBagLayout, musí byť ako druhý argument odovzdaný GridBagConstraintsobject.

GridBagConstraints cn = new GridBagConstraints();
cn.anchor = GridBagConstraints.WEST;
cn.insets = new Insets(10, 10, 10, 10);
cn.gridx = 0;
cn.gridy = 0;
jp.add(labelUsername, constraints);

Ak používame CardLayout, použije sa metóda pridania (String name, Component cmp). Prvým argumentom je meno Card.

JPanel cl = new JPanel(new CardLayout());
cl.add("A", step1Panel);
cl.add("B", step2Panel);

Program na implementáciu JPanel v Jave

Teraz sa pozrime na program na implementáciu jednoduchého jazyka JPanel do jazyka Java.

// java Program to create a simple JPanel add components to it
import java.awt.*;
import javax.swing.*;
//A sub class is created b extending JFrame
class JPanelProgram extends JFrame (
// creates a JFrame
static JFrame fr;
// creates JButton
static JButton bt, bt1, bt2;
//creates JLabel that helps in displaying the text
static JLabel lb;
// main class
public static void main(String() args)
(
// A new frame is created to store buttons
fr= new JFrame("Panel");
// Label to display text is created
lb= new JLabel("Panel's Label");
//new buttons are created
bt = new JButton("A Button");
bt1 = new JButton("B Button");
bt2 = new JButton("C Button");
//Panel to add buttons is created
JPanel p = new JPanel();
//Add buttons and text field to panel
p.add(bt);
p.add(bt1);
p.add(bt2);
p.add(lb);
// set the background color of panel
p.setBackground(Color.green);
// add panel to frame
fr.add(p);
// set the size of frame
fr.setSize(400, 300);
fr.show();
)
)

Výstup :

V tomto programe sa vytvorí panel s tlačidlami a textovými poľami. Pozadie so zelenou farbou sa nastavuje aj pre panel. Farby, veľkosť, počet tlačidiel je možné meniť na základe požiadavky 0n.

Predpokladajme, že chceme vytvoriť komponent pomocou BorderLayout. Jediný rozdiel v syntaxi je uvedený nižšie.

//Panel to add buttons is created
JPanel jp = new JPanel(new BorderLayout());
//Add buttons and text field to panel
jp.add(bt, BorderLayout.NORTH);
jp.add(bt1, BorderLayout.SOUTH);
jp.add(bt2, BorderLayout.CENTER);

Nasleduje ukážkový výstup pre vyššie uvedený BorderLayout.

Výkon:

Záver - JPanel v Jave

JPanel je ľahký jednoduchý kontajner, ktorý zoskupuje skupinu komponentov dohromady. Rozloženie môže byť pridané do kontajnera na základe požiadavky používateľa. Aj keď je FlowLayout predvolené, používajú sa aj iné rozloženia ako BorderLayout, GridBagLayout, CardLayout. V tomto dokumente sú vysvetlené rôzne konštruktory a niekoľko ďalších znakov JPanel.

Odporúčané články

Toto je sprievodca po JPanel v Jave. Tu diskutujeme o tom, ako vytvoriť panel a ako pridať komponenty do javy spolu s implementáciou kódu. Viac informácií nájdete aj v nasledujúcich článkoch

  1. JScrollPane v Jave
  2. JTextField v Jave
  3. JDialog v Jave
  4. JComboBox v Jave
  5. JFrame v Jave
  6. JLabel v Jave

Kategórie: