Einführung in JPanel in Java

JPanel ist eine einfachste kompakte Containerklasse, die Teil des Pakets java.swing ist. Es kann eine Reihe von Komponenten gruppieren oder speichern, hauptsächlich zum Erstellen einer Benutzeroberfläche. Es ähnelt dem Panel im Abstract Window Toolkit (AWT). JPanel enthält keine Rahmen, Titelleiste oder Menüleiste. Obwohl mehrere Layout-Manager vorhanden sind, ist FlowLayout der Standard-Layout-Manager von JPanel und erbt die Klasse JComponents. Wenn eine Komponente an eine Anwendung angehängt werden muss, stellt JPanel Speicherplatz zur Verfügung. Lassen Sie uns JPanel in den folgenden Abschnitten im Detail verstehen.

Konstruktoren von JPanel in Java

JPanel kann mit der folgenden Syntax deklariert werden:

public class JPanel extends JComponent implements Accessible

JPanel wird ohne Konstruktoren nicht vollständig sein. Im Folgenden sind die verschiedenen Konstruktoren aufgeführt, die in JPanel verwendet werden.

  • JPanel (): Da FlowLayout der Standardlayout-Manager ist, wird mit FlowLayout ein neues Bedienfeld erstellt, wenn dieser Konstruktor aufgerufen wird.
  • JPanel (LayoutManager lm): Ein neues JPanel wird mit dem Layoutmanager lm erstellt.
  • JPanel (Boolean isDoubleBuffered): Ein neues JPanel wird mit der genannten Pufferstrategie erstellt. Der Wert kann je nach Anforderung wahr oder falsch sein.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): Ein neues JPanel wird mit dem angegebenen Layoutmanager lm und der angegebenen Pufferstrategie erstellt.

In JPanel verwendete Funktionen

Einige der in JPanel häufig verwendeten Funktionen sind:

  • getUIClassID (): Der Look and Feel- Klassenname ( L & F), mit dem diese Komponente gerendert wird, wird zurückgegeben.
  • add (Komponentenkomponente): Die Komponentenkomponente wird dem angegebenen Container hinzugefügt.
  • getAccessibleContext (): AccessibleContext für das JPanel wird zurückgegeben.
  • getUI (): Look and Feel (L & F) -Objekt, das diese Komponente darstellt, wird zurückgegeben.
  • setLayout (LayoutManager lm): Das Layout des Containers wird auf den angegebenen Layout Manager lm festgelegt.
  • setUI (PanelUI Pui): Das Look and Feel-Objekt (L & F), mit dem diese Komponente gerendert wird, wird festgelegt.
  • updateUI (): Der aktuelle Look & Feel-Wert (L & F) wird mit der UI-Eigenschaft zurückgesetzt.
  • paramString (): String-Darstellung des JPanel wird zurückgegeben.

Wie erstelle ich ein Panel in Java?

Wie bereits erwähnt, besteht die JPanel-Klasse aus dem Paket java.swing und der Unterklasse java.swing.JComponent.

1. Das JPanel-Objekt wird wie unten beschrieben erstellt.

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

2. Erstellen Sie eine Klasse, die sich von der JPanel-Klasse erstreckt.

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

3. Der Layout-Manager kann je nach Anforderung erwähnt werden oder nicht.

Da FlowLayout die Standardeinstellung ist, können wir im Beispiel einige andere Layouts verwenden.

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

4. Die Doppelpufferstrategie kann mit dem Konstruktor JPanel (boolean isdoubleBuffered) angewendet werden.

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

Nachdem Sie Panel in Java erstellt haben, legen Sie den Layout-Manager für JPanel fest.

Verwenden Sie zum Festlegen des Layouts die Methode setLayout (LayoutManager lm).

JPanel jp=new JPanel(new GridBagLayout);

Hier wird ein GridBagLayout als Layout festgelegt. Wenn wir die Syntax als verwenden

JPanel jp=new JPanel();

Das Layout ist dann standardmäßig auf FlowLayout eingestellt.

Die Schritte zum Hinzufügen von Komponenten zum Container werden im folgenden Abschnitt erläutert.

Wie füge ich Komponenten in Java hinzu?

Um Komponenten wie button, JLabel, JTextfield usw. hinzuzufügen, verwenden wir die Methode add (). Da es für add () verschiedene Versionen gibt, hängt die verwendete Methode vom Layout-Manager des Panels ab.

1. Die Add (Component cmp) -Methode wird für Layout-Manager wie GridLayout, FlowLayout, SpringLayout und BoxLayout verwendet.

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

jp ist das Objekt von JPanel.

2. Die Methode Add (Component cmp, Object obj) wird für Layout-Manager wie CardLayout, BorderLayout oder GridBagLayout verwendet.

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

Wenn wir GridBagLayout verwenden, muss GridBagConstraintsobject als zweites Argument übergeben werden.

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

Wenn Sie CardLayout verwenden, wird die Methode add (String name, Component cmp) verwendet. Hier ist das erste Argument der Name für Card.

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

Programm zum Implementieren von JPanel in Java

Sehen wir uns nun das Programm zur Implementierung von einfachem JPanel in Java an.

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

Ausgabe :

In diesem Programm wird ein Panel mit Schaltflächen und Textfeldern erstellt. Hintergrund mit grüner Farbe wird auch für das Panel festgelegt. Farben, Größe und Anzahl der Schaltflächen können je nach Anforderung geändert werden.

Angenommen, wir möchten eine Komponente mit BorderLayout erstellen. Der einzige Unterschied in der Syntax wird unten erwähnt.

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

Im Folgenden sehen Sie die Beispielausgabe für das obige BorderLayout.

Ausgabe:

Fazit - JPanel in Java

JPanel ist ein leichter, einfacher Container, der eine Reihe von Komponenten zusammenfasst. Das Layout kann dem Container entsprechend den Anforderungen des Benutzers hinzugefügt werden. Obwohl FlowLayout die Standardeinstellung ist, werden auch andere Layouts wie BorderLayout, GridBagLayout und CardLayout verwendet. In diesem Dokument werden die verschiedenen Konstruktoren und einige andere Funktionen von JPanel erläutert.

Empfohlene Artikel

Dies ist eine Anleitung zu JPanel in Java. Hier besprechen wir, wie Sie ein Panel erstellen und wie Sie Komponenten in Java zusammen mit der Code-Implementierung hinzufügen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.

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