Introduksjon til JPanel i Java

JPanel er den enkleste lette containerklassen som er en del av pakken java.swing. Den kan gruppere eller lagre et sett med komponenter, hovedsakelig for å lage et brukergrensesnitt. Det ligner på panelet i Abstract Window Toolkit (AWT). JPanel inneholder ikke kantlinje, tittellinje eller menylinje. Selv om det finnes flere layoutadministratorer, er FlowLayout standard layout manager for JPanel og det arver klassen JComponents. Hvis en komponent må knyttes til en applikasjon, gir JPanel plass. La oss forstå JPanel i detalj i de følgende seksjonene.

Konstruktører av JPanel i Java

JPanel kan deklareres ved hjelp av følgende syntaks:

public class JPanel extends JComponent implements Accessible

JPanel vil ikke være komplett uten konstruktører. Følgende er de forskjellige konstruktørene som brukes i JPanel.

  • JPanel (): Siden FlowLayout er standard layout manager, opprettes et nytt panel med FlowLayout hvis denne konstruktøren heter.
  • JPanel (LayoutManager lm): En ny JPanel opprettes med layout manager som lm.
  • JPanel (Boolean isDoubleBuffered): En ny JPanel opprettes med den nevnte bufferingsstrategien. Verdien kan være sann eller usann basert på kravet.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): En ny JPanel opprettes med den spesifiserte layout manager lm og buffering strategien.

Funksjoner brukt i JPanel

Noen av de vanlige funksjonene som brukes i JPanel er:

  • getUIClassID (): Navn og følelse (L & F) klassens navn som gjengir denne komponenten returneres.
  • add (Component comp): Component comp legges til den angitte beholderen.
  • getAccessibleContext (): AccessibleContext relatert til JPanel returneres.
  • getUI (): Look and feel (L & F) objekt som gjengir denne komponenten blir returnert.
  • setLayout (LayoutManager lm): Layout av beholderen er satt til spesifisert layout manager lm.
  • setUI (PanelUI Pui): Look and feel (L & F) objekt som gjengir denne komponenten er satt.
  • updateUI (): Nåværende verdi og utseende (L & F) blir tilbakestilt med UI-egenskapen.
  • paramString (): Strengrepresentasjon av JPanel returneres.

Hvordan lage panel i Java?

Som allerede omtalt, er JPanel-klassen pakken java.swing og underklasse til java.swing.JComponent.

1. JPanel-objekt opprettes som nevnt nedenfor.

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

2. Lag en klasse som strekker seg fra JPanel Class.

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

3. Oppsettleder kan nevnes eller ikke basert på kravet.

Siden FlowLayout er standard, kan vi bruke noen andre oppsett i eksempelet.

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

4. Dobbeltbufferstrategi kan brukes ved å bruke konstruktøren JPanel (boolean isdoubleBuffered)

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

Etter å ha opprettet Panel i Java, la oss angi layout manager for JPanel.

Bruk metoden setLayout (LayoutManager lm) for å angi oppsettet.

JPanel jp=new JPanel(new GridBagLayout);

Her er en GridBagLayout angitt som layout. Hvis vi bruker syntaks som

JPanel jp=new JPanel();

Da er oppsettet satt som FlowLayout som standard.

Trinnene for å legge til komponenter i beholderen blir forklart i avsnittet nedenfor.

Hvordan legge til komponenter i Java?

For å legge til komponenter som knapp, JLabel, JTextfield, etc. bruker vi add () -metoden. Siden det er forskjellige versjoner for add (), avhenger hvilken metode som brukes av panelets layout manager.

1. Legg til (Component cmp) -metoden vil bli brukt for layoutadministratorer som GridLayout, FlowLayout, SpringLayout, BoxLayout.

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

jp er objektet for JPanel.

2. Legg til (Component cmp, Object obj) -metoden vil bli brukt for 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 bruker GridBagLayout, må GridBagConstraintsobject passeres som det andre argumentet.

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 bruker CardLayout, legges til metoden (String name, Component cmp). Her er det første argumentet navnet på Card.

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

Program for å implementere JPanel i Java

La oss se programmet for å 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();
)
)

Utgang :

I dette programmet opprettes et panel med knapper og tekstfelt. Bakgrunn med grønn farge er også angitt for panelet. Farger, størrelse, antall knapper kan endres basert på kravet.

Anta at vi ønsker å lage en komponent med BorderLayout. Den eneste forskjellen i syntaks er nevnt 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øveutgangen for ovennevnte BorderLayout.

Produksjon:

Konklusjon - JPanel i Java

JPanel er en enkel enkel beholder som grupperer et sett med komponenter. Oppsettet kan legges til beholderen basert på brukerens krav. Selv om FlowLayout er standard, brukes også andre oppsett som BorderLayout, GridBagLayout, CardLayout. I dette dokumentet blir de forskjellige konstruktørene og flere andre funksjoner i JPanel forklart.

Anbefalte artikler

Dette er en guide til JPanel i Java. Her diskuterer vi hvordan du oppretter et panel og hvordan du legger til komponenter i java sammen med kodeimplementering. Du kan også se på følgende artikler for å lære mer-

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