D:\NewZebra\JavaApplications\DesignPatternsProject\src\behavior_patterns\simple_command_pattern\SimpleCommandPattern.java |
1
2
3
4
5
6
7 package behavior_patterns.simple_command_pattern;
8
9
10
11 @author
12
13
14 import java.text.*;
15 import java.util.*;
16 import java.awt.event.*;
17 import java.awt.*;
18 import javax.swing.*;
19
20
21 public class SimpleCommandPattern extends JFrame implements Command {
22
23 final int X_STARTING_POSITION = 50;
24 final int Y_STARTING_POSITION = 50;
25
26 final int RED_BACKGROUND = 0;
27 final int GRAY_BACKGROUND = 1;
28 final int BLUE_BACKGROUND = 2;
29
30 int local_X_position = X_STARTING_POSITION;
31 int local_Y_position = Y_STARTING_POSITION;
32
33 JButton aJButton = null;
34 JPanel aJPanel = null;
35 int whichOne = BLUE_BACKGROUND;
36
37
38 public SimpleCommandPattern() {
39
40 setSize(800, 600);
41 setTitle("Simple Command Pattern JFrame");
42 setLayout(null);
43
44 aJPanel = new JPanel();
45 aJPanel.setBounds(0,0,800,600);
46 aJPanel.setBackground(Color.lightGray);
47 aJPanel.setLayout(null);
48 add(aJPanel);
49
50 addButton("Red", 0, RED_BACKGROUND);
51 addButton("Gray", 40, GRAY_BACKGROUND);
52 addButton("Blue", 80, BLUE_BACKGROUND);
53 setVisible(true);
54 }
55
56
57
58 public void execute(){
59 switch(whichOne)
60 {
61 case RED_BACKGROUND:
62 aJPanel.setBackground(Color.red);
63 break;
64 case GRAY_BACKGROUND:
65 aJPanel.setBackground(Color.gray);
66 break;
67 case BLUE_BACKGROUND:
68 aJPanel.setBackground(Color.blue);
69 break;
70 default:
71 aJPanel.setBackground(Color.red);
72 }
73 }
74
75
76
77 public void addButton(String buttonName, int verticalPosition, int bColor){
78
79 final int localColor = bColor;
80 local_Y_position += 40 + verticalPosition;
81
82 Cursor handCursor = new Cursor(Cursor.HAND_CURSOR);
83
84 aJButton = new JButton(buttonName);
85 aJButton.setCursor(handCursor);
86 aJButton.setBackground(Color.blue);
87 aJButton.setBounds(local_X_position, local_Y_position, 100, 20);
88 aJPanel.add(aJButton);
89 aJButton.addActionListener(new ActionListener()
90 {
91 public void actionPerformed(ActionEvent PassedActionEvent)
92 {
93 whichOne = localColor;
94 execute();
95 }
96 });
97 }
98
99
100
101 public static void main (String[] args) {
102 SimpleCommandPattern simpleCommandPatternHandle = new SimpleCommandPattern();
103 }
104
105 }
106
107