/home/sjenks/NetBeansProjects/CS2/src/frames/KFrame7.java
  1 /*
  2  * Frame for the GUI7 program.
  3  */
  4 package frames;
  5 
  6 import java.awt.BorderLayout;
  7 import java.awt.Color;
  8 import java.awt.Container;
  9 import java.awt.FlowLayout;
 10 import java.awt.event.ActionEvent;
 11 import java.awt.event.ActionListener;
 12 import javax.swing.JButton;
 13 import javax.swing.JFrame;
 14 import javax.swing.JPanel;
 15 import javax.swing.JTextField;
 16 import utilities.Random;
 17 
 18 /**
 19  *
 20  * @author sjenks
 21  */
 22 // modeling the featured frame of the GUI
 23 public class KFrame7 extends JFrame implements ActionListener {
 24 
 25     JPanel reflector;
 26     JButton blueButton;
 27     JButton redButton;
 28     JButton greenButton;
 29     JButton yellowButton;
 30     JButton colorButton;
 31     JTextField input;
 32 
 33     public KFrame7(String title) {
 34         super(title);
 35         setSize(500, 300);
 36         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 37         addComponents(getContentPane());
 38         addListeners();
 39         setVisible(true);
 40     }
 41 
 42     private void addComponents(Container contentPane) {
 43         //Components for the northern region
 44         blueButton = new JButton("Blue");
 45         redButton = new JButton("Red");
 46         greenButton = new JButton("Green");
 47         yellowButton = new JButton("Yellow");
 48         colorButton = new JButton("Color");
 49         JPanel controlPanel = new JPanel();
 50         controlPanel.setLayout(new FlowLayout());
 51         controlPanel.add(blueButton);
 52         controlPanel.add(redButton);
 53         controlPanel.add(greenButton);
 54         controlPanel.add(yellowButton);
 55         controlPanel.add(colorButton);
 56         //components for central region
 57         reflector = new JPanel();
 58         //components for southern region
 59         input = new JTextField();
 60         //establish the regions
 61         contentPane.setLayout(new BorderLayout());
 62         contentPane.add(controlPanel, BorderLayout.NORTH);
 63         contentPane.add(reflector, BorderLayout.CENTER);
 64         contentPane.add(input, BorderLayout.SOUTH);
 65 
 66     }
 67 
 68     //Add the listeners to the frame.
 69     private void addListeners() {
 70         blueButton.addActionListener(this);
 71         redButton.addActionListener(this);
 72         greenButton.addActionListener(this);
 73         yellowButton.addActionListener(this);
 74         colorButton.addActionListener(this);
 75         input.addActionListener(this);
 76     }
 77 
 78     // This method serves to implemnt the ActionListener interface
 79     @Override
 80     public void actionPerformed(ActionEvent event) {
 81         String command = event.getActionCommand();
 82         if (event.getSource() instanceof JTextField){
 83             input.setText("");
 84         }
 85         if (command.equals("Red")) {
 86             reflector.setBackground(Color.RED);
 87         } else if (command.equals("Yellow")) {
 88             reflector.setBackground(Color.YELLOW);
 89         } else if (command.equals("Blue")) {
 90             reflector.setBackground(Color.BLUE);
 91         } else if (command.equals("Green")) {
 92             reflector.setBackground(Color.GREEN);
 93         } else if (command.equalsIgnoreCase("Color")) {
 94             reflector.setBackground(Random.color());
 95 
 96         }
 97     }
 98 
 99 }
100