/home/evankemp/NetBeansProjects/CS1/src/interpreters/Interpreter1.java
 1 /*
 2  * This interpreter is intended to paint different colored odts in a window.
 3  *
 4  * The commands that the interpreter can recognize and respond to are:
 5  * - BLUE: paint a blue dot
 6  * - RED: paint a red dot
 7  * - HELP: show a list of the commands in a dialog message box
 8  * - EXIT: terminate the program
 9  */
10 package interpreters;
11 
12 import java.awt.Color;
13 import javax.swing.JOptionPane;
14 import javax.swing.SwingUtilities;
15 import painter.SPainter;
16 import shapes.SCircle;
17 
18 /**
19  *
20  * @author evankemp
21  */
22 public class Interpreter1 {
23 
24     private void interpreter() {
25         
26         //CREATE OBJECTS TO THINK WITH
27         SPainter miro = new SPainter("Dot Thing", 400,400);
28         miro.setScreenLocation(0,0);
29         SCircle dot = new SCircle(180);
30         
31         //REPEATEDLY TAKE A COMMAND FROM AN INPUT DIALOG BOX AND INTERPRET IT
32         while (true) {
33             String command = JOptionPane.showInputDialog(null," Command?");
34             if ( command.equalsIgnoreCase("blue")) {
35                 miro.setColor(Color.BLUE);
36                 miro.paint(dot);
37             } else if ( command.equalsIgnoreCase("red")) {
38                 miro.setColor(Color.RED);
39                 miro.paint(dot);
40             } else if ( command.equalsIgnoreCase("help")) {
41                 JOptionPane.showMessageDialog(null,"Valid commands are: " 
42                         + "RED | BLUE | HELP | EXIT ");
43             } else if ( command.equalsIgnoreCase("exit")) {
44                 miro.end();
45                 System.out.println("Thank you for viewing the dots ...");
46                 break;
47             } else {
48                 JOptionPane.showMessageDialog(null, "Unrecognizable command: " 
49                         + command.toUpperCase());
50             }
51        }
52       
53     }
54     
55     //INFRASTRUCTURE FOR SOME SIMPLE PAINTING
56     
57     public Interpreter1() {
58         interpreter();
59     }
60     public static void main(String[] args) {
61         SwingUtilities.invokeLater(new Runnable() { 
62             public void run() { 
63                 new Interpreter1();
64             }
65         });
66     }
67     
68 }
69