C:\Users\notebook\Documents\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 notebook
21  */
22 
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 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 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     private void addListeners() {
69         blueButton.addActionListener(this);
70         redButton.addActionListener(this);
71         greenButton.addActionListener(this);
72         yellowButton.addActionListener(this);
73         colorButton.addActionListener(this);
74         input.addActionListener(this);
75     }
76 
77     public void actionPerformed(ActionEvent event) {
78         String command = event.getActionCommand();
79         if ( event.getSource() instanceof JTextField ) {
80             input.setText("");
81         }
82         if (command.equalsIgnoreCase("Red")) {
83             reflector.setBackground(Color.RED);
84         } else if (command.equalsIgnoreCase("Yellow")) {
85             reflector.setBackground(Color.YELLOW);
86         } else if (command.equalsIgnoreCase("Blue")) {
87             reflector.setBackground(Color.BLUE);
88         } else if (command.equalsIgnoreCase("Green")) {
89             reflector.setBackground(Color.GREEN);
90         } else if (command.equalsIgnoreCase("Color")) {
91             reflector.setBackground(Random.color());
92         }
93     }
94 
95 }
96