Java AWT Adding Panels to Frame

Java AWT Adding Panels to Frame:

This code is continuation of this tutorial to add MenuItem to Menu. Changes that need to be made from the last code is highlighted below.

Here, GridLayout(2,1) create 2 rows and 1 column in the frame. It is very useful for creating custom designs.

AWT Adding Panels to Frame:

Creating custom design with panels
Creating custom design with panels


Code AWT Adding Panels to Frame:

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

 * Created by asif on 8/13/2015.
public class SimpleAwtGui {

    private static final int button_count = 10;

    // Declare a Frame type variable
    Frame frame;
    MenuBar menuBar;
    Menu fileMenu, optionsMenu, helpMenu;
    Panel panelUpperSection, panelLowerSection;

    // Create an array of Button type Objects
    Button [] button = new Button[button_count];

    public SimpleAwtGui() {
        // Create Frame Object and pass in the Frame Name / title
        frame = new Frame("AWT GUI EXAMPLE");

        // Create a panel object for organizing content
        panelUpperSection = new Panel();
        panelLowerSection = new Panel();

        // Use for loop to instantiate every button object
        for(int i = 0; i < button_count; ++i){
            button[i] = new Button( "" + i );

        // Create MenuBar Object
        menuBar = new MenuBar();

        // Create Menu objects to add to the MenuBar
        fileMenu = new Menu("File");
        optionsMenu = new Menu("Options");
        helpMenu = new Menu("Exit");

    public static void main(String[] args) {

        // Create an instance of SimpleAwtGui
        SimpleAwtGui window = new SimpleAwtGui();

        // call the showFrame() function to display the window


    // Not necessary but good practice all codes inside this can be written inside main
    public void showFrame() {
        // set the size of the window
        frame.setSize(400, 400);

        // set the layout for the window
        frame.setLayout(new GridLayout(2, 1));

        // Add panel to the frame

        // Set Layout for the panels
        panelUpperSection.setLayout(new FlowLayout());
        panelLowerSection.setLayout(new GridLayout());

        // Add all of the buttons to the layout
        for(int i = 0; i < button_count; ++i) {

        // Register window listener event to the frame without implementing WindowListener
                new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {

        // Add Menu to the MenuBar

         * Add MenuItem to Menu

        // Add items to File Menu
        fileMenu.add(new MenuItem("New"));
        fileMenu.add(new MenuItem("Open"));
        fileMenu.add(new MenuItem("Exit"));

        // Add items to File Menu
        optionsMenu.add(new MenuItem("Options"));

        // Add items to File Menu
        helpMenu.add(new MenuItem("Help"));
        helpMenu.add(new MenuItem("About"));

        // Add MenuBar to the Frame

        // set the frame visible otherwise nothing will be shown

One thought on “Java AWT Adding Panels to Frame

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s