/home/sjenks/NetBeansProjects/CS2/src/frames/KFrame9.java
  1 /*
  2  * Frame for the GUI9 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 import utilities.Random;
 17 
 18 /**
 19  *
 20  * @author sjenks
 21  */
 22 public class KFrame9 extends JFrame implements ActionListener {
 23 
 24     JPanel reflector;
 25     JTextArea textArea;
 26     JButton termButton;
 27     JButton quoteButton;
 28     JButton languageButton;
 29     JButton personButton;
 30     JButton colorButton;
 31     JButton clearButton;
 32     JTextField input;
 33     Term terms;
 34     Quote quotes;
 35     Person people;
 36     Language languages;
 37 
 38     public KFrame9(String title) {
 39         super(title);
 40         setSize(700,700);
 41         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 42         addComponents(getContentPane());
 43         addListeners();
 44         setVisible(true);
 45     }
 46 
 47     private void addComponents(Container contentPane) {
 48         //Components for the northern region
 49         termButton = new JButton("Term");
 50         quoteButton = new JButton("Quote");
 51         languageButton = new JButton("Language");
 52         personButton = new JButton("Person");
 53         colorButton = new JButton("Color");
 54         clearButton = new JButton("Clear");
 55         JPanel controlPanel = new JPanel();
 56         controlPanel.setLayout(new FlowLayout());
 57         controlPanel.add(termButton);
 58         controlPanel.add(quoteButton);
 59         controlPanel.add(languageButton);
 60         controlPanel.add(personButton);
 61         controlPanel.add(colorButton);
 62         controlPanel.add(clearButton);
 63         //components for central region
 64         textArea = new JTextArea();
 65         //components for southern region
 66         input = new JTextField();
 67         //establish the regions
 68         contentPane.setLayout(new BorderLayout());
 69         contentPane.add(controlPanel, BorderLayout.NORTH);
 70         contentPane.add(textArea, BorderLayout.CENTER);
 71         contentPane.add(input, BorderLayout.SOUTH);
 72 
 73     }
 74 
 75     //Add the listeners to the frame.
 76     private void addListeners() {
 77         termButton.addActionListener(this);
 78         quoteButton.addActionListener(this);
 79         languageButton.addActionListener(this);
 80         personButton.addActionListener(this); 
 81         colorButton.addActionListener(this);
 82         clearButton.addActionListener(this);
 83         input.addActionListener(this);
 84     }
 85 
 86     // This method serves to implemnt the ActionListener interface
 87     @Override
 88     public void actionPerformed(ActionEvent event) {
 89         String command = event.getActionCommand();
 90         if (event.getSource() instanceof JTextField){
 91             input.setText("");
 92         }
 93         if (command.equalsIgnoreCase("Quote")) {
 94             Quote quotes = new Quote();
 95             textArea.append(quotes.get());
 96             textArea.append("\n");
 97             textArea.setWrapStyleWord(true);
 98             textArea.setLineWrap(true);
 99         } else if (command.equalsIgnoreCase("Person")) {
100             Person people = new Person();
101             textArea.append(people.get());
102             textArea.append("\n");
103             textArea.setWrapStyleWord(true);
104             textArea.setLineWrap(true);
105         } else if (command.equalsIgnoreCase("Term")){
106            Term terms = new Term();
107            textArea.append(terms.get());
108            textArea.append("\n");
109            textArea.setWrapStyleWord(true);
110            textArea.setLineWrap(true);
111         } else if (command.equalsIgnoreCase("Language")) {
112            Language languages = new Language();
113            textArea.append(languages.get());
114            textArea.append("\n");
115            textArea.setWrapStyleWord(true);
116            textArea.setLineWrap(true);
117         } else if (command.equalsIgnoreCase("Color")) {
118             textArea.setBackground(Random.color());
119         } else if (command.equalsIgnoreCase("Clear")) {
120             textArea.setText("");
121         }
122     }
123 
124  
125 
126 
127 }
128 
129