Introduktion till JPanel i Java

JPanel är en enklare containerklass som är en del av paketet java.swing. Den kan gruppera eller lagra en uppsättning komponenter tillsammans, främst för att skapa ett användargränssnitt. Det liknar panelen i Abstract Window Toolkit (AWT). JPanel innehåller inte gränser, titelfält eller menyfält. Trots att flera layouthanterare finns, är FlowLayout standard layouthanteraren för JPanel och det ärver klass JComponents. Om en komponent måste bifogas till en applikation ger JPanel utrymme. Låt oss förstå JPanel i detalj i följande avsnitt.

Konstruktörer av JPanel i Java

JPanel kan deklareras med följande syntax:

public class JPanel extends JComponent implements Accessible

JPanel kommer inte att vara komplett utan konstruktörer. Följande är de olika konstruktörer som används i JPanel.

  • JPanel (): Eftersom FlowLayout är standardlayouthanteraren skapas en ny panel med FlowLayout om den här konstruktören heter.
  • JPanel (LayoutManager lm): En ny JPanel skapas med layouthanteraren som lm.
  • JPanel (Boolean isDoubleBuffered): En ny JPanel skapas med den nämnda buffringsstrategin. Värdet kan vara sant eller falskt baserat på kravet.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): En ny JPanel skapas med den angivna layouthanteraren lm och buffringsstrategi.

Funktioner som används i JPanel

Några av de vanliga funktionerna som används i JPanel är:

  • getUIClassID (): Titta och känna (L & F) klassnamn som gör denna komponent returneras.
  • lägg till (Component comp): Component comp läggs till i den angivna behållaren.
  • getAccessibleContext (): AccessibleContext relaterat till JPanel returneras.
  • getUI (): Look and feel (L & F) -objekt som gör denna komponent returneras.
  • setLayout (LayoutManager lm): Layout av behållaren är inställd på den angivna layouthanteraren lm.
  • setUI (PanelUI Pui): Look and feel (L & F) -objekt som gör denna komponent är inställd.
  • updateUI (): Aktuellt utseende och känsla (L & F) -värde återställs med UI-egenskapen.
  • paramString (): Strängrepresentation av JPanel returneras.

Hur skapar jag panel i Java?

Som redan diskuterats tillhör JPanel-klassen paketet java.swing och underklass för java.swing.JComponent.

1. JPanel-objekt skapas som nämnts nedan.

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

2. Skapa en klass som sträcker sig från JPanel Class.

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

3. Layouthanteraren kan nämnas eller inte baseras på kravet.

Eftersom FlowLayout är standard, kan vi använda några andra layouter i exemplet.

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

4. Dubbel buffringstrategi kan tillämpas med konstruktorn JPanel (boolean isdoubleBuffered)

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

Efter att vi skapat Panel i Java, låt oss ställa in layouthanteraren för JPanel.

Använd metoden setLayout (LayoutManager lm) för att ställa in layouten.

JPanel jp=new JPanel(new GridBagLayout);

Här anges en GridBagLayout som layout. Om vi ​​använder syntaxen som

JPanel jp=new JPanel();

Sedan är layouten inställd som FlowLayout som standard.

Stegen för att lägga till komponenter i behållaren förklaras i avsnittet nedan.

Hur lägger jag till komponenter i Java?

För att lägga till komponenter som knapp, JLabel, JTextfield etc. kommer vi att använda metoden add (). Eftersom det finns olika versioner för add () beror vilken metod som används på panelens layouthanterare.

1. Add-metoden (Component cmp) kommer att användas för layouthanterare som GridLayout, FlowLayout, SpringLayout, BoxLayout.

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

jp är objektet för JPanel.

2. Metoden Lägg till (Component cmp, Object obj) kommer att användas för layouthanterare 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);

Om vi ​​använder GridBagLayout måste GridBagConstraintsobjekt passeras som det andra 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);

Om vi ​​använder CardLayout, lägg till metoden (String name, Component cmp). Här är det första argumentet namnet på Card.

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

Program för att implementera JPanel i Java

Låt oss nu se programmet för att implementera 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();
)
)

Utgång :

I det här programmet skapas en panel med knappar och textfält. Bakgrund med grön färg ställs också in för panelen. Färger, storlek, antal knappar kan ändras utifrån kravet.

Anta att vi vill skapa en komponent med BorderLayout. Den enda skillnaden i syntax nämns nedan.

//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öljande är provutmatningen för ovanstående BorderLayout.

Produktion:

Slutsats - JPanel i Java

JPanel är en enkel enkel behållare som grupperar en uppsättning komponenter. Layouten kan läggas till behållaren baserat på användarens krav. Även om FlowLayout är standardinställningen används även andra layouter som BorderLayout, GridBagLayout, CardLayout. I detta dokument förklaras de olika konstruktörerna och flera andra funktioner i JPanel.

Rekommenderade artiklar

Detta är en guide till JPanel i Java. Här diskuterar vi hur man skapar en panel och hur man lägger till komponenter i java tillsammans med kodimplementering. Du kan också titta på följande artiklar för att lära dig 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

Kategori: