Introduktion til JPanel i Java

JPanel er en enkleste letvægtsbeholderklasse, der er en del af pakken java.swing. Det kan gruppere eller gemme et sæt komponenter sammen, hovedsageligt til oprettelse af en brugergrænseflade. Det svarer til panelet i Abstract Window Toolkit (AWT). JPanel indeholder ikke kant, titellinje eller menulinje. Selvom der findes flere layoutadministratorer, er FlowLayout standardlayoutadministrator for JPanel, og det arver klassen JComponents. Hvis en komponent skal tilknyttes en applikation, giver JPanel plads. Lad os forstå JPanel detaljeret i de følgende afsnit.

Konstruktører af JPanel i Java

JPanel kan deklareres ved hjælp af følgende syntaks:

public class JPanel extends JComponent implements Accessible

JPanel vil ikke være komplet uden konstruktører. Følgende er de forskellige konstruktører, der bruges i JPanel.

  • JPanel (): Da FlowLayout er standardlayouthåndtereren, oprettes et nyt panel med FlowLayout, hvis denne konstruktør kaldes.
  • JPanel (LayoutManager lm): En ny JPanel oprettes med layoutadministratoren som lm.
  • JPanel (Boolean isDoubleBuffered): En ny JPanel oprettes med den nævnte bufferstrategi. Værdien kan være sand eller falsk baseret på kravet.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): En ny JPanel oprettes med den specificerede layout manager lm og buffering strategi.

Funktioner brugt i JPanel

Nogle af de almindelige funktioner, der bruges i JPanel, er:

  • getUIClassID (): Look and feel (L & F) klassens navn, der gengiver denne komponent, returneres.
  • add (Component comp): Component comp føjes til den specificerede container.
  • getAccessibleContext (): AccessibleContext relateret til JPanel returneres.
  • getUI (): Look and feel (L & F) -objekt, der gengiver denne komponent, returneres.
  • setLayout (LayoutManager lm): Layout af containeren er indstillet til den specificerede layoutmanager lm.
  • setUI (PanelUI Pui): Look and feel (L & F) -objekt, der gengiver denne komponent, er indstillet.
  • updateUI (): Nuværende værdi for udseende og fornemmelse (L & F) nulstilles med UI-egenskaben.
  • paramString (): Strengrepræsentation af JPanel returneres.

Sådan oprettes panel i Java?

Som allerede omtalt er JPanel-klassen af ​​pakken java.swing og underklasse af java.swing.JComponent.

1. JPanel-objekt oprettes som nævnt nedenfor.

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

2. Opret en klasse, der strækker sig fra JPanel Class.

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

3. Layoutadministratoren kan nævnes eller ikke på baggrund af kravet.

Da FlowLayout er standard, kan vi bruge nogle andre layouts i eksemplet.

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

4. Dobbeltbufferstrategi kan anvendes ved hjælp af konstruktøren JPanel (boolean isdoubleBuffered)

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

Efter oprettelse af panel i Java, lad os indstille layoutadministratoren for JPanel.

Brug metoden setLayout (LayoutManager lm) for at indstille layoutet.

JPanel jp=new JPanel(new GridBagLayout);

Her indstilles en GridBagLayout som layout. Hvis vi bruger syntaks som

JPanel jp=new JPanel();

Derefter indstilles layoutet som FlowLayout som standard.

Trinene til at tilføje komponenter i beholderen forklares i nedenstående afsnit.

Sådan tilføjes komponenter i Java?

For at tilføje komponenter som knap, JLabel, JTextfield osv. Bruger vi add () -metoden. Da der er forskellige versioner til tilføjelse (), afhænger hvilken metode der bruges af panelets layoutadministrator.

1. Tilføj (Component cmp) -metoden bruges til layoutadministratorer som GridLayout, FlowLayout, SpringLayout, BoxLayout.

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

jp er genstand for JPanel.

2. Tilføj (Component cmp, Object obj) metoden bruges til layoutadministratorer som CardLayout, BorderLayout eller 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);

Hvis vi bruger GridBagLayout, skal GridBagConstraintsobject sendes som det andet 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);

Hvis vi bruger CardLayout, tilføjes (String name, Component cmp) metode. Her er det første argument navnet på Card.

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

Program til implementering af JPanel i Java

Lad os nu se programmet til at implementere enkel JPanel i 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();
)
)

Output :

I dette program oprettes et panel med knapper og tekstfelter. Baggrund med grøn farve er også indstillet til panelet. Farver, størrelse, antal knapper kan ændres baseret på 0n kravet.

Antag, at vi ønsker at oprette en komponent med BorderLayout. Den eneste forskel i syntaks er nævnt nedenfor.

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

Følgende er prøveudgangen til ovennævnte BorderLayout.

Produktion:

Konklusion - JPanel i Java

JPanel er en let, enkel container, der grupperer et sæt komponenter sammen. Layouten kan føjes til containeren baseret på brugerens krav. Selvom FlowLayout er standardindstillingen, bruges andre layout såsom BorderLayout, GridBagLayout, CardLayout. I dette dokument forklares de forskellige konstruktører og flere andre funktioner i JPanel.

Anbefalede artikler

Dette er en guide til JPanel i Java. Her diskuterer vi, hvordan man opretter et panel, og hvordan man tilføjer komponenter i java sammen med kodeimplementering. Du kan også se på de følgende artikler for at lære mere-

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

Kategori: