PanelDemo.java


PanelDemo.java

// Fig. 12.46: PanelDemo.java
// Using a JPanel to help lay out components.
import java.awt.GridLayout;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;

class PanelFrame extends JFrame 
{
   private final JPanel buttonJPanel; // panel to hold buttons
   private final JButton[] buttons; 

   // no-argument constructor
   public PanelFrame()
   {
      super("Panel Demo");
      buttons = new JButton[5]; 
      buttonJPanel = new JPanel(); 
      buttonJPanel.setLayout(new GridLayout(1, buttons.length));

      // create and add buttons
      for (int count = 0; count < buttons.length; count++) 
      {
         buttons[count] = new JButton("Button " + (count + 1));
         buttonJPanel.add(buttons[count]); // add button to panel
      } 

      add(buttonJPanel, BorderLayout.SOUTH); // add panel to JFrame
   } 
} // end class PanelFrame

public class PanelDemo extends JFrame 
{
   public static void main(String[] args)
   { 
      PanelFrame panelFrame = new PanelFrame(); 
      panelFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      panelFrame.setSize(450, 200); 
      panelFrame.setVisible(true); 
   } 
} // end class PanelDemo


Maintained by John Loomis, updated Mon Feb 20 11:11:56 2017