C:\Users\notebook\Documents\NetBeansProjects\CS2\src\frames\KFrame8.java
  1 /*
  2  * Frame for the GUI8 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.JTextArea;
 16 import javax.swing.JTextField;
 17 import utilities.Random;
 18 
 19 /**
 20  *
 21  * @author notebook
 22  */
 23 public class KFrame8 extends JFrame implements ActionListener {
 24 
 25     JTextArea displayer;
 26     JButton termButton;
 27     JButton quoteButton;
 28     JButton personButton;
 29     JButton languageButton;
 30     JButton colorButton;
 31     JButton clearButton;
 32     JTextField input;
 33 
 34     public KFrame8(String title) {
 35         super(title);
 36         setSize(700, 700);
 37         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 38         addComponents(getContentPane());
 39         addListeners();
 40         setVisible(true);
 41     }
 42 
 43     private void addComponents(Container contentPane) {
 44         // components for northern region
 45         termButton = new JButton("Term");
 46         quoteButton = new JButton("Quote");
 47         personButton = new JButton("Person");
 48         languageButton = new JButton("Language");
 49         colorButton = new JButton("Color");
 50         clearButton = new JButton("Clear");
 51         JPanel controlPanel = new JPanel();
 52         controlPanel.setLayout(new FlowLayout());
 53         controlPanel.add(termButton);
 54         controlPanel.add(quoteButton);
 55         controlPanel.add(personButton);
 56         controlPanel.add(languageButton);
 57         controlPanel.add(colorButton);
 58         controlPanel.add(clearButton);
 59         // components central region
 60         displayer = new JTextArea();
 61         // components for southern region
 62         input = new JTextField();
 63         // establish the regions
 64         contentPane.setLayout(new BorderLayout());
 65         contentPane.add(controlPanel, BorderLayout.NORTH);
 66         contentPane.add(displayer, BorderLayout.CENTER);
 67         contentPane.add(input, BorderLayout.SOUTH);
 68 
 69     }
 70 
 71     private void addListeners() {
 72         termButton.addActionListener(this);
 73         quoteButton.addActionListener(this);
 74         personButton.addActionListener(this);
 75         languageButton.addActionListener(this);
 76         colorButton.addActionListener(this);
 77         clearButton.addActionListener(this);
 78         input.addActionListener(this);
 79     }
 80 
 81     public void actionPerformed(ActionEvent event) {
 82         String command = event.getActionCommand();
 83         if (event.getSource() instanceof JTextField) {
 84             input.setText("");
 85         }
 86         if (command.equalsIgnoreCase("Term")) {
 87             displayer.append(command.toUpperCase() + "\n");
 88         } else if (command.equalsIgnoreCase("Quote")) {
 89             displayer.append(command.toUpperCase() + "\n");
 90         } else if (command.equalsIgnoreCase("Person")) {
 91             displayer.append(command.toUpperCase() + "\n");
 92         } else if (command.equalsIgnoreCase("Language")) {
 93             displayer.append(command.toUpperCase() + "\n");
 94         } else if (command.equalsIgnoreCase("Color")) {
 95             displayer.append(command.toUpperCase() + "\n");
 96         } else if (command.equalsIgnoreCase("Clear")) {
 97             displayer.append(command.toUpperCase() + "\n");
 98         }
 99     }
100 
101 }
102