import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
/*
 * JButtonsExample.java
 *
 */

/**
 *
 * @author Bill Kraynek
 */
public class JButtonsExamplePanelExtension {
    
    /** Creates a new instance of JButtonsExample */
    public JButtonsExamplePanelExtension() {
        JFrame theFrame = new JFrame("JButtons Example");
        theFrame.setSize(400,400);
        theFrame.setLayout(new FlowLayout(FlowLayout.CENTER,300,100));
        MyButtonPanel button1Panel = new MyButtonPanel("Button One",Color.GREEN);
        JScrollPane pane1 = new JScrollPane(button1Panel);
        theFrame.add(pane1);
        MyButtonPanel button2Panel = new MyButtonPanel("Button Two",Color.RED);
        theFrame.add(button2Panel);
        theFrame.setVisible(true);
    }
    
    class MyButtonPanel extends JPanel {
        String name;
        
        public MyButtonPanel(String name, Color color) {
            this.name = name;
            // all JButton methods are available for MyButtonPanel
            this.setBackground(color);
            JLabel label = new JLabel("Click " + name);
            JButton button = new JButton(name);
            button.setFont(new Font("New Times-Roman",Font.BOLD,30));
            this.add(label);
            this.add(button);
            button.addActionListener(new ButtonAction());
        }
        
        class ButtonAction implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null,e.getActionCommand());
            }
        }
        
    }// end MyButtonPanel
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new JButtonsExamplePanelExtension();
    }
    
}


