Introducere în JPanel în Java

JPanel este cea mai simplă clasă de containere ușoare care face parte din pachetul java.swing. Poate grupa sau stoca un set de componente împreună, în principal pentru crearea unei interfețe de utilizator. Este similar cu panoul din Abstract Window Toolkit (AWT). JPanel nu conține borduri, bara de titlu sau bara de meniu. Chiar dacă există mai mulți manageri de layout, FlowLayout este managerul de layout implicit al JPanel și moștenește clasa JComponent. Dacă o componentă trebuie să fie atașată la o aplicație, JPanel oferă spațiu. Să înțelegem în detaliu JPanel în secțiunile următoare.

Constructorii JPanel în Java

JPanel poate fi declarat folosind următoarea sintaxă:

public class JPanel extends JComponent implements Accessible

JPanel nu va fi complet fără constructori. Următoarele sunt diferiții constructori folosiți în JPanel.

  • JPanel (): Deoarece FlowLayout este managerul de layout implicit, se creează un nou panou cu FlowLayout dacă este numit acest constructor.
  • JPanel (LayoutManager lm): Un nou JPanel este creat cu managerul de layout ca lm.
  • JPanel (Boolean isDoubleBuffered): Un nou JPanel este creat cu strategia de tamponare menționată. Valoarea poate fi adevărată sau falsă pe baza cerinței.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): Un nou JPanel este creat cu managerul de layout specificat lm și strategia de tamponare.

Funcții utilizate în JPanel

Unele dintre funcțiile comune utilizate în JPanel sunt:

  • getUIClassID (): numele clasei Look and feel (L&F) care redă această componentă este returnat.
  • add (Component comp): Componentul comp este adăugat la containerul specificat.
  • getAccessibleContext (): Returnable AccessibleContext legat de JPanel este returnat.
  • getUI (): obiectul Look and feel (L&F) care redă această componentă este returnat.
  • setLayout (LayoutManager lm): Aspectul containerului este setat la managerul de layout specificat lm.
  • setUI (PanelUI Pui): obiectul Look and feel (L&F) care redă această componentă este setat.
  • updateUI (): Valoarea de aspect actual (L & F) este resetată cu proprietatea UI.
  • paramString (): Reprezentarea șirului JPanel este returnată.

Cum se creează un panou în Java?

După cum s-a discutat deja, clasa JPanel este din pachetul java.swing și subclasa componentei java.swing.JComponent.

1. Obiectul JPanel este creat așa cum este menționat mai jos.

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

2. Creați o clasă care se extinde de la clasa JPanel.

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

3. Managerul de layout poate fi menționat sau nu pe baza cerinței.

Întrucât FlowLayout este cel implicit, putem folosi alte exemple în exemplu.

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

4. Strategia de tamponare dublă poate fi aplicată folosind constructorul JPanel (boolean isdoubleBuffered)

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

După crearea Panoului în Java, să stabilim managerul de layout pentru JPanel.

Pentru a seta aspectul, folosiți metoda setLayout (LayoutManager lm).

JPanel jp=new JPanel(new GridBagLayout);

Aici, un GridBagLayout este setat ca aspect. Dacă folosim sintaxa ca

JPanel jp=new JPanel();

Apoi, aspectul este setat ca FlowLayout în mod implicit.

Pașii pentru adăugarea componentelor în container sunt explicate în secțiunea de mai jos.

Cum se adaugă componente în Java?

Pentru a adăuga componente precum butonul, JLabel, JTextfield, etc., vom folosi metoda add (). Deoarece există diferite versiuni pentru add (), metoda care se utilizează depinde de managerul de dispunere al panoului.

1. Metoda Add (Component cmp) va fi utilizată pentru manageri de layout precum GridLayout, FlowLayout, SpringLayout, BoxLayout.

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

jp este obiectul JPanel.

2. Metoda Add (Component cmp, Object obj) va fi utilizată pentru manageri de layout precum CardLayout, BorderLayout sau 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);

Dacă folosim GridBagLayout, GridBagConstraintsobject trebuie trecut ca al doilea argument.

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

Dacă folosim CardLayout, se utilizează metoda add (String name, Component cmp). Aici primul argument este numele pentru Card.

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

Program pentru implementarea JPanel în Java

Acum, să vedem programul pentru a implementa JPanel simplu în 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();
)
)

Rezultat :

În acest program, un panou este creat cu butoane și câmpuri de text. Fundalul cu culoare verde este de asemenea setat pentru panou. Culorile, dimensiunea, numărul de butoane pot fi modificate în funcție de 0n cerința.

Să presupunem că dorim să creăm o componentă cu BorderLayout. Singura diferență de sintaxă este menționată mai jos.

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

Urmează ieșirea probă pentru BorderLayout de mai sus.

ieşire:

Concluzie - JPanel în Java

JPanel este un recipient simplu ușor care grupează un set de componente. Aspectul poate fi adăugat la container pe baza cerințelor utilizatorului. Chiar dacă FlowLayout este unul implicit, sunt utilizate și alte machete precum BorderLayout, GridBagLayout, CardLayout. În acest document, sunt explicați diferiții constructori și alte câteva caracteristici ale JPanel.

Articole recomandate

Acesta este un ghid pentru JPanel în Java. Aici discutăm cum se creează un panou și cum se adaugă componente în Java împreună cu implementarea codului. De asemenea, puteți consulta următoarele articole pentru a afla mai multe-

  1. JScrollPane în Java
  2. JTextField în Java
  3. JDialog în Java
  4. JComboBox în Java
  5. JFrame în Java
  6. JLabel în Java