/home/sjenks/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.Container;
  8 import java.awt.FlowLayout;
  9 import java.awt.event.ActionEvent;
 10 import java.awt.event.ActionListener;
 11 import javax.swing.JButton;
 12 import javax.swing.JFrame;
 13 import javax.swing.JPanel;
 14 import javax.swing.JTextArea;
 15 import javax.swing.JTextField;
 16 
 17 /**
 18  *
 19  * @author sjenks
 20  */
 21 public class KFrame8 extends JFrame implements ActionListener {
 22 
 23     JPanel reflector;
 24     JTextArea textArea;
 25     JButton termButton;
 26     JButton quoteButton;
 27     JButton languageButton;
 28     JButton personButton;
 29     JButton colorButton;
 30     JButton clearButton;
 31     JTextField input;
 32 
 33     public KFrame8(String title) {
 34         super(title);
 35         setSize(700,700);
 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         termButton = new JButton("Term");
 45         quoteButton = new JButton("Quote");
 46         languageButton = new JButton("Language");
 47         personButton = new JButton("Person");
 48         colorButton = new JButton("Color");
 49         clearButton = new JButton("Clear");
 50         JPanel controlPanel = new JPanel();
 51         controlPanel.setLayout(new FlowLayout());
 52         controlPanel.add(termButton);
 53         controlPanel.add(quoteButton);
 54         controlPanel.add(languageButton);
 55         controlPanel.add(personButton);
 56         controlPanel.add(colorButton);
 57         controlPanel.add(clearButton);
 58         //components for central region
 59         textArea = new JTextArea();
 60         //components for southern region
 61         input = new JTextField();
 62         //establish the regions
 63         contentPane.setLayout(new BorderLayout());
 64         contentPane.add(controlPanel, BorderLayout.NORTH);
 65         contentPane.add(textArea, BorderLayout.CENTER);
 66         contentPane.add(input, BorderLayout.SOUTH);
 67 
 68     }
 69 
 70     //Add the listeners to the frame.
 71     private void addListeners() {
 72         termButton.addActionListener(this);
 73         quoteButton.addActionListener(this);
 74         languageButton.addActionListener(this);
 75         personButton.addActionListener(this); 
 76         colorButton.addActionListener(this);
 77         clearButton.addActionListener(this);
 78         input.addActionListener(this);
 79     }
 80 
 81     // This method serves to implemnt the ActionListener interface
 82     @Override
 83     public void actionPerformed(ActionEvent event) {
 84         String command = event.getActionCommand();
 85         if (event.getSource() instanceof JTextField){
 86             input.setText("");
 87         }
 88         if (command.equalsIgnoreCase("Quote")) {
 89             textArea.append("QUOTE");
 90         } else if (command.equalsIgnoreCase("Person")) {
 91             textArea.append("PERSON");
 92         } else if (command.equalsIgnoreCase("Term")) {
 93             textArea.append("TERM");
 94         } else if (command.equalsIgnoreCase("Language")) {
 95             textArea.append("LANGUAGE");
 96         } else if (command.equalsIgnoreCase("Color")) {
 97             textArea.append("COLOR");
 98         } else if (command.equalsIgnoreCase("Clear")) {
 99             textArea.append("CLEAR");
100         }
101     }
102 
103 }
104 
105