Thursday, August 25, 2011

Adding JPanel Inside Another JPanel

Program Description:

The program below is a Java Code, a simple demonstration on how add JPanel inside another JPanel which is very useful in making a complex program layout along the way. This technique can make you add as many JPanel you want inside another JPanel.

Output:
Code:

/**

* File: jpanelInsideJPanel.java

* Tiltle: Adding JPanel Inside Another JPanel

* Author: http://java-code-complete.blogspot.com/

*/



//Java Core Package

import javax.swing.*;

//Java Extension Package

import java.awt.*;



public class jpanelInsideJPanel extends JFrame {



//Initializing JPanels

private JPanel mainPanel, subPanel1, subPanel2, subPanel3, subPanel4;



//Setting up GUI

public jpanelInsideJPanel(){



//Setting up the Title of the Window

super("Adding JPanel Inside Another JPanel");



//Set Size of the Window (WIDTH, HEIGHT)

setSize(350,250);



//Exit Property of the Window

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



//Constructing Main JPanel with GridLayout of 1 row and 2 column

mainPanel = new JPanel();

mainPanel.setBorder(BorderFactory.createTitledBorder("Main Panel"));

mainPanel.setLayout(new GridLayout(1,2));



//Constructing JPanel 1 and 2 with GridLayout of 1 row and 1 column

subPanel1 = new JPanel();

subPanel1.setBorder(BorderFactory.createTitledBorder("Sub Panel 1"));

subPanel1.setLayout(new GridLayout(1,1));

subPanel2 = new JPanel();

subPanel2.setBorder(BorderFactory.createTitledBorder("Sub Panel 2"));

subPanel2.setLayout(new GridLayout(1,1));



//Constructing JPanel 3 and 4

subPanel3 = new JPanel();

subPanel3.setBorder(BorderFactory.createTitledBorder("Sub Panel 3"));

subPanel4 = new JPanel();

subPanel4.setBorder(BorderFactory.createTitledBorder("Sub Panel 4"));



//Adding JPanel 3 to JPanel 1 which means JPanel 3 is inside JPanel 1

subPanel1.add(subPanel3);

//Adding JPanel 4 to JPanel 2 which means JPanel 4 is inside JPanel 2

subPanel2.add(subPanel4);



//Adding JPanel 1 and 2 to main JPanel

mainPanel.add(subPanel1);

mainPanel.add(subPanel2);



//Setting up the container ready for the components to be added.

Container pane = getContentPane();

setContentPane(pane);



//Adding the main JPanel to the container

pane.add(mainPanel);



/**Set all the Components Visible.

* If it is set to "false", the components in the container will not be visible.

*/

setVisible(true);

}



//Main Method

public static void main (String[] args) {

jpanelInsideJPanel jp = new jpanelInsideJPanel();

}

}


Important Part of the Program:

//Constructing Main JPanel with GridLayout of 1 row and 2 column

mainPanel = new JPanel();

mainPanel.setBorder(BorderFactory.createTitledBorder("Main Panel"));

mainPanel.setLayout(new GridLayout(1,2));



//Constructing JPanel 1 and 2 with GridLayout of 1 row and 1 column

subPanel1 = new JPanel();

subPanel1.setBorder(BorderFactory.createTitledBorder("Sub Panel 1"));

subPanel1.setLayout(new GridLayout(1,1));

subPanel2 = new JPanel();

subPanel2.setBorder(BorderFactory.createTitledBorder("Sub Panel 2"));

subPanel2.setLayout(new GridLayout(1,1));



//Constructing JPanel 3 and 4

subPanel3 = new JPanel();

subPanel3.setBorder(BorderFactory.createTitledBorder("Sub Panel 3"));

subPanel4 = new JPanel();

subPanel4.setBorder(BorderFactory.createTitledBorder("Sub Panel 4"));



//Adding JPanel 3 to JPanel 1 which means JPanel 3 is inside JPanel 1

subPanel1.add(subPanel3);

//Adding JPanel 4 to JPanel 2 which means JPanel 4 is inside JPanel 2

subPanel2.add(subPanel4);



//Adding JPanel 1 and 2 to main JPanel

mainPanel.add(subPanel1);

mainPanel.add(subPanel2);

No comments:

Post a Comment