Java Swing – JPanel With Examples
JPanel, a part of the Java Swing package, is a container that can store a group of components. The main task of JPanel is to organize components, various layouts can be set in JPanel which provide better organization of components, however, it does not have a title bar.
Constructors of JPanel
- JPanel(): creates a new panel with a flow layout
- JPanel(LayoutManager l): creates a new JPanel with specified layoutManager
- JPanel(boolean isDoubleBuffered): creates a new JPanel with a specified buffering strategy
- JPanel(LayoutManager l, boolean isDoubleBuffered): creates a new JPanel with specified layoutManager and a specified buffering strategy
Commonly used Functions of JPanel
- add(Component c): Adds a component to a specified container
- setLayout(LayoutManager l): sets the layout of the container to the specified layout manager
- updateUI(): resets the UI property with a value from the current look and feel.
- setUI(PanelUI ui): sets the look and feel of an object that renders this component.
- getUI(): returns the look and feel object that renders this component.
- paramString(): returns a string representation of this JPanel.
- getUIClassID(): returns the name of the Look and feel class that renders this component.
- getAccessibleContext(): gets the AccessibleContext associated with this JPanel.
Let us take a sample program in order to illustrate the use of JPanel class by appending sequential execution snapshots of outputs justifying the below program sets as follows:
Example:
Java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class solution extends JFrame {
static JFrame f;
static JButton b, b1, b2;
static JLabel l;
public static void main(String[] args)
{
f = new JFrame( "panel" );
l = new JLabel( "panel label" );
b = new JButton( "button1" );
b1 = new JButton( "button2" );
b2 = new JButton( "button3" );
JPanel p = new JPanel();
p.add(b);
p.add(b1);
p.add(b2);
p.add(l);
p.setBackground(Color.red);
f.add(p);
f.setSize( 300 , 300 );
f.show();
}
}
|
Output:
Example 2:
Java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class solution extends JFrame {
static JFrame f;
static JButton b, b1, b2, b3;
static JLabel l;
public static void main(String[] args)
{
f = new JFrame( "panel" );
l = new JLabel( "panel label" );
b = new JButton( "button1" );
b1 = new JButton( "button2" );
b2 = new JButton( "button3" );
b3 = new JButton( "button4" );
JPanel p = new JPanel( new BorderLayout());
p.add(b, BorderLayout.NORTH);
p.add(b1, BorderLayout.SOUTH);
p.add(b2, BorderLayout.EAST);
p.add(b3, BorderLayout.WEST);
p.add(l, BorderLayout.CENTER);
p.setBackground(Color.red);
f.add(p);
f.setSize( 300 , 300 );
f.show();
}
}
|
Output:
Example 3:
Java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class solution extends JFrame {
static JFrame f;
static JButton b, b1, b2, b3;
static JLabel l;
public static void main(String[] args)
{
f = new JFrame( "panel" );
l = new JLabel( "panel label" );
b = new JButton( "button1" );
b1 = new JButton( "button2" );
b2 = new JButton( "button3" );
b3 = new JButton( "button4" );
JPanel p = new JPanel();
p.setLayout( new BoxLayout(p, BoxLayout.Y_AXIS));
p.add(b);
p.add(b1);
p.add(b2);
p.add(b3);
p.add(l);
p.setBackground(Color.red);
f.add(p);
f.setSize( 300 , 300 );
f.show();
}
}
|
Output:
Henceforth, we are successfully able to generate buttons in our panel.
Note: In the previous Program, border layout and Box Layout are used. Different other layouts can be used to organize the components in a definite pattern, such as card layout, grid layout, etc.
Last Updated :
10 Nov, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...