Inleiding tot JPanel in Java

JPanel is een eenvoudigste lichtgewicht containerklasse die deel uitmaakt van het pakket java.swing. Het kan een set componenten samen groeperen of opslaan, voornamelijk voor het creëren van een gebruikersinterface. Het is vergelijkbaar met het paneel in Abstract Window Toolkit (AWT). JPanel bevat geen rand, titelbalk of menubalk. Hoewel er meerdere lay-outmanagers bestaan, is FlowLayout de standaard lay-outmanager van JPanel en neemt het de klasse JComponents over. Als een component aan een toepassing moet worden gekoppeld, biedt JPanel ruimte. Laten we JPanel in de volgende paragrafen gedetailleerd begrijpen.

Constructeurs van JPanel in Java

JPanel kan worden verklaard met behulp van de volgende syntaxis:

public class JPanel extends JComponent implements Accessible

JPanel zal niet compleet zijn zonder constructeurs. De volgende zijn de verschillende constructors die in JPanel worden gebruikt.

  • JPanel (): Aangezien FlowLayout de standaard lay-outmanager is, wordt een nieuw paneel gemaakt met FlowLayout als deze constructor wordt aangeroepen.
  • JPanel (LayoutManager lm): een nieuw JPanel wordt gemaakt met de layoutmanager als lm.
  • JPanel (Boolean isDoubleBuffered): een nieuw JPanel wordt gemaakt met de genoemde bufferstrategie. Waarde kan waar of onwaar zijn op basis van de vereiste.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): Er wordt een nieuw JPanel gemaakt met de opgegeven layoutmanager lm en bufferstrategie .

Functies gebruikt in JPanel

Enkele veel voorkomende functies die worden gebruikt in JPanel zijn:

  • getUIClassID (): Look en feel (L & F) klassenaam die dit onderdeel weergeeft, wordt geretourneerd.
  • add (Component comp): Component comp wordt toegevoegd aan de opgegeven container.
  • getAccessibleContext (): AccessibleContext gerelateerd aan het JPanel wordt geretourneerd.
  • getUI (): Look & feel (L & F) -object dat dit onderdeel weergeeft, wordt geretourneerd.
  • setLayout (LayoutManager lm): de lay-out van de container is ingesteld op de opgegeven lay- outmanager lm.
  • setUI (PanelUI Pui): Look & feel (L & F) -object dat dit onderdeel weergeeft, is ingesteld.
  • updateUI (): de huidige waarde voor look & feel (L & F) wordt opnieuw ingesteld met de eigenschap UI.
  • paramString (): Stringvoorstelling van het JPanel wordt geretourneerd.

Hoe een paneel in Java te maken?

Zoals reeds besproken, is de klasse JPanel van het pakket java.swing en de subklasse van java.swing.JComponent.

1. JPanel-object wordt gemaakt zoals hieronder vermeld.

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

2. Maak een klasse die zich uitstrekt van JPanel Class.

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

3. De lay-outmanager kan worden vermeld of niet op basis van de vereiste.

Omdat FlowLayout de standaardinstelling is, kunnen we in het voorbeeld enkele andere lay-outs gebruiken.

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

4. Dubbele bufferstrategie kan worden toegepast met de constructor JPanel (boolean isdoubleBuffered)

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

Na het maken van Panel in Java, laten we de lay-outmanager instellen voor JPanel.

Gebruik de methode setLayout (LayoutManager lm) om de lay-out in te stellen.

JPanel jp=new JPanel(new GridBagLayout);

Hier wordt een GridBagLayout ingesteld als de lay-out. Als we de syntaxis als gebruiken

JPanel jp=new JPanel();

Vervolgens wordt de lay-out standaard ingesteld als FlowLayout.

De stappen voor het toevoegen van componenten in de container worden in de onderstaande sectie uitgelegd.

Hoe componenten toe te voegen in Java?

Om componenten zoals button, JLabel, JTextfield, etc. toe te voegen, zullen we de methode add () gebruiken. Aangezien er verschillende versies zijn voor add (), hangt de methode af van de lay-outmanager van het paneel.

1. De methode (Component cmp) wordt gebruikt voor lay-outmanagers zoals GridLayout, FlowLayout, SpringLayout, BoxLayout.

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

jp is het object van JPanel.

2. De methode Add (Component cmp, Object obj) wordt gebruikt voor lay-outbeheerders zoals CardLayout, BorderLayout of 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);

Als we GridBagLayout gebruiken, moet GridBagConstraintsobject worden doorgegeven als het tweede 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);

Als we CardLayout gebruiken, wordt de methode (String name, Component cmp) gebruikt. Hier is het eerste argument de naam voor Card.

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

Programma om JPanel in Java te implementeren

Laten we nu het programma bekijken om eenvoudige JPanel in Java te implementeren.

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

Uitgang :

In dit programma wordt een paneel gemaakt met knoppen en tekstvelden. Achtergrond met groene kleur wordt ook ingesteld voor het paneel. Kleuren, grootte, aantal knoppen kunnen worden gewijzigd op basis van de vereiste.

Stel dat we een component met BorderLayout willen maken. Het enige verschil in syntaxis wordt hieronder vermeld.

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

Hierna volgt de voorbeelduitvoer voor de bovenstaande BorderLayout.

Output:

Conclusie - JPanel in Java

JPanel is een lichtgewicht eenvoudige container die een set componenten samenvoegt. De lay-out kan aan de container worden toegevoegd op basis van de behoefte van de gebruiker. Hoewel FlowLayout de standaardinstelling is, worden ook andere lay-outs zoals BorderLayout, GridBagLayout en CardLayout gebruikt. In dit document worden de verschillende constructors en verschillende andere functies van JPanel uitgelegd.

Aanbevolen artikelen

Dit is een gids voor JPanel in Java. Hier bespreken we hoe u een paneel kunt maken en hoe u componenten in Java kunt toevoegen, samen met de implementatie van code. U kunt ook de volgende artikelen bekijken voor meer informatie-

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