-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path556.html
119 lines (119 loc) · 22.8 KB
/
556.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<html><head><title>GuiWindow.java</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="sourcestyles.css" />
</head><body link="blue" vlink="blue">
<h3>File: /Users/shatabdi/Education/GitHub/se450_project/src/view/GuiWindow.java</h3>
<SCRIPT>
defaultStatus = "File: /Users/shatabdi/Education/GitHub/se450_project/src/view/GuiWindow.java";
top.document.title = "GuiWindow.java";
</SCRIPT>
<pre><span class="default"></span><a name="1"><font size=-1>1 </font></a><span class="default"></span><span class="keyword">package <a href="dictionary_V.html#2">view</a></span><span class="default">;</span>
<a name="2"><font size=-1>2 </font></a><span class="default"></span>
<a name="3"><font size=-1>3 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#152">awt</a>.<a href="dictionary_J.html#558">BorderLayout</a>;</span>
<a name="4"><font size=-1>4 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#152">awt</a>.<a href="dictionary_J.html#108">Color</a>;</span>
<a name="5"><font size=-1>5 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#152">awt</a>.<a href="dictionary_J.html#561">FlowLayout</a>;</span>
<a name="6"><font size=-1>6 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#152">awt</a>.<a href="dictionary_J.html#562">Frame</a>;</span>
<a name="7"><font size=-1>7 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#152">awt</a>.<a href="dictionary_J.html#617">Insets</a>;</span>
<a name="8"><font size=-1>8 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#77">util</a>.<a href="dictionary_J.html#616">HashMap</a>;</span>
<a name="9"><font size=-1>9 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#77">util</a>.<a href="dictionary_J.html#621">Map</a>;</span>
<a name="10"><font size=-1>10 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">java.<a href="dictionary_J.html#77">util</a>.<a href="dictionary_J.html#622">NoSuchElementException</a>;</span>
<a name="11"><font size=-1>11 </font></a><span class="default"></span>
<a name="12"><font size=-1>12 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.<a href="dictionary_J.html#9">swing</a>.<a href="dictionary_J.html#8">JButton</a>;</span>
<a name="13"><font size=-1>13 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.<a href="dictionary_J.html#9">swing</a>.<a href="dictionary_J.html#177">JComponent</a>;</span>
<a name="14"><font size=-1>14 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.<a href="dictionary_J.html#9">swing</a>.<a href="dictionary_J.html#618">JFrame</a>;</span>
<a name="15"><font size=-1>15 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.<a href="dictionary_J.html#9">swing</a>.<a href="dictionary_J.html#619">JPanel</a>;</span>
<a name="16"><font size=-1>16 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.<a href="dictionary_J.html#9">swing</a>.<a href="dictionary_J.html#623">WindowConstants</a>;</span>
<a name="17"><font size=-1>17 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.swing.<a href="dictionary_J.html#624">border</a>.<a href="dictionary_J.html#557">Border</a>;</span>
<a name="18"><font size=-1>18 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.swing.<a href="dictionary_J.html#624">border</a>.<a href="dictionary_J.html#559">CompoundBorder</a>;</span>
<a name="19"><font size=-1>19 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.swing.<a href="dictionary_J.html#624">border</a>.<a href="dictionary_J.html#560">EmptyBorder</a>;</span>
<a name="20"><font size=-1>20 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">javax.swing.<a href="dictionary_J.html#624">border</a>.<a href="dictionary_J.html#620">LineBorder</a>;</span>
<a name="21"><font size=-1>21 </font></a><span class="default"></span>
<a name="22"><font size=-1>22 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">view.<a href="dictionary_V.html#3">Enum</a>.EventName;</span>
<a name="23"><font size=-1>23 </font></a><span class="default"></span><span class="keyword">import </span><span class="default">view.<a href="dictionary_V.html#10">interfaces</a>.<a href="dictionary_V.html#5">IGuiWindow</a>;</span>
<a name="24"><font size=-1>24 </font></a><span class="default"></span>
<a name="25"><font size=-1>25 </font></a><span class="default"></span><span class="keyword">public class <a href="dictionary_V.html#265">GuiWindow</a> extends <a href="dictionary_J.html#618">JFrame</a> implements <a href="dictionary_V.html#5">IGuiWindow</a> </span><span class="default">{</span>
<a name="26"><font size=-1>26 </font></a><span class="default"></span>
<a name="27"><font size=-1>27 </font></a><span class="default"> </span><span class="keyword">private static final int <a href="dictionary_V.html#611">defaultHeight</a> </span><span class="default">= </span><span class="number">800</span><span class="default">;</span>
<a name="28"><font size=-1>28 </font></a><span class="default"> </span><span class="keyword">private static final <a href="dictionary_S.html#41">String</a> <a href="dictionary_V.html#612">defaultTitle</a> </span><span class="default">= </span><span class="string">"Shatabdi Choudhury JPaint"</span><span class="default">;</span>
<a name="29"><font size=-1>29 </font></a><span class="default"> </span><span class="keyword">private static final int <a href="dictionary_V.html#613">defaultWidth</a> </span><span class="default">= </span><span class="number">1250</span><span class="default">;</span>
<a name="30"><font size=-1>30 </font></a><span class="default"> </span><span class="keyword">private static final long <a href="dictionary_V.html#615">serialVersionUID</a> </span><span class="default">= </span><span class="number">1L</span><span class="default">;</span>
<a name="31"><font size=-1>31 </font></a><span class="default"></span>
<a name="32"><font size=-1>32 </font></a><span class="default"> </span><span class="keyword">private final <a href="dictionary_J.html#617">Insets</a> <a href="dictionary_V.html#610">defaultButtonDimensions</a> </span><span class="default">= </span><span class="keyword">new <a href="dictionary_J.html#617">Insets</a></span><span class="default">(</span><span class="number">5</span><span class="default">, </span><span class="number">8</span><span class="default">, </span><span class="number">5</span><span class="default">, </span><span class="number">8</span><span class="default">);</span>
<a name="33"><font size=-1>33 </font></a><span class="default"> </span><span class="keyword">private final <a href="dictionary_J.html#621">Map</a></span><span class="default"><EventName, <a href="dictionary_J.html#8">JButton</a>> <a href="dictionary_V.html#614">eventButtons</a> = </span><span class="keyword">new <a href="dictionary_J.html#616">HashMap</a></span><span class="default"><>();</span>
<a name="34"><font size=-1>34 </font></a><span class="default"></span>
<a name="35"><font size=-1>35 </font></a><span class="default"> </span><span class="keyword">public <a href="dictionary_V.html#270">GuiWindow</a></span><span class="default">(<a href="dictionary_J.html#177">JComponent</a> <a href="dictionary_V.html#573">canvas</a>) {</span>
<a name="36"><font size=-1>36 </font></a><span class="default"> <a href="dictionary_S.html#568">setVisible</a>(</span><span class="keyword">true</span><span class="default">);</span>
<a name="37"><font size=-1>37 </font></a><span class="default"> <a href="dictionary_S.html#564">setDefaultCloseOperation</a>(<a href="dictionary_J.html#623">WindowConstants</a>.<a href="dictionary_E.html#571">EXIT_ON_CLOSE</a>);</span>
<a name="38"><font size=-1>38 </font></a><span class="default"> <a href="dictionary_S.html#567">setTitle</a>(<a href="dictionary_V.html#612">defaultTitle</a>);</span>
<a name="39"><font size=-1>39 </font></a><span class="default"> <a href="dictionary_S.html#566">setSize</a>(<a href="dictionary_V.html#613">defaultWidth</a>, <a href="dictionary_V.html#611">defaultHeight</a>);</span>
<a name="40"><font size=-1>40 </font></a><span class="default"> <a href="dictionary_S.html#565">setExtendedState</a>(<a href="dictionary_J.html#562">Frame</a>.<a href="dictionary_M.html#572">MAXIMIZED_BOTH</a>);</span>
<a name="41"><font size=-1>41 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#574">window</a> = <a href="dictionary_V.html#603">createWindow</a>();</span>
<a name="42"><font size=-1>42 </font></a><span class="default"> <a href="dictionary_V.html#574">window</a>.<a href="dictionary_A.html#56">add</a>(<a href="dictionary_V.html#573">canvas</a>, <a href="dictionary_J.html#558">BorderLayout</a>.<a href="dictionary_C.html#570">CENTER</a>);</span>
<a name="43"><font size=-1>43 </font></a><span class="default"> <a href="dictionary_V.html#569">validate</a>();</span>
<a name="44"><font size=-1>44 </font></a><span class="default"></span>
<a name="45"><font size=-1>45 </font></a><span class="default"> System.out.<a href="dictionary_P.html#563">println</a>(</span><span class="string">"Gui window appears."</span><span class="default">);</span>
<a name="46"><font size=-1>46 </font></a><span class="default"> }</span>
<a name="47"><font size=-1>47 </font></a><span class="default"></span>
<a name="48"><font size=-1>48 </font></a><span class="default"> </span><span class="keyword">private void <a href="dictionary_V.html#575">addButtonToPanel</a></span><span class="default">(EventName <a href="dictionary_V.html#577">eventName</a>, <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#579">panel</a>) {</span>
<a name="49"><font size=-1>49 </font></a><span class="default"> <a href="dictionary_J.html#8">JButton</a> <a href="dictionary_V.html#578">newButton</a> = <a href="dictionary_V.html#586">createButton</a>(<a href="dictionary_V.html#577">eventName</a>);</span>
<a name="50"><font size=-1>50 </font></a><span class="default"> <a href="dictionary_V.html#614">eventButtons</a>.<a href="dictionary_P.html#576">put</a>(<a href="dictionary_V.html#577">eventName</a>, <a href="dictionary_V.html#578">newButton</a>);</span>
<a name="51"><font size=-1>51 </font></a><span class="default"> <a href="dictionary_V.html#579">panel</a>.<a href="dictionary_A.html#56">add</a>(<a href="dictionary_V.html#578">newButton</a>);</span>
<a name="52"><font size=-1>52 </font></a><span class="default"> }</span>
<a name="53"><font size=-1>53 </font></a><span class="default"></span>
<a name="54"><font size=-1>54 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#580">createBackgroundPanel</a></span><span class="default">() {</span>
<a name="55"><font size=-1>55 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#585">contentPane</a> = </span><span class="keyword">new <a href="dictionary_J.html#619">JPanel</a></span><span class="default">();</span>
<a name="56"><font size=-1>56 </font></a><span class="default"> <a href="dictionary_V.html#585">contentPane</a>.<a href="dictionary_S.html#582">setBorder</a>(</span><span class="keyword">new <a href="dictionary_J.html#560">EmptyBorder</a></span><span class="default">(</span><span class="number">0</span><span class="default">, </span><span class="number">0</span><span class="default">, </span><span class="number">0</span><span class="default">, </span><span class="number">0</span><span class="default">));</span>
<a name="57"><font size=-1>57 </font></a><span class="default"> <a href="dictionary_V.html#585">contentPane</a>.<a href="dictionary_S.html#584">setLayout</a>(</span><span class="keyword">new <a href="dictionary_J.html#558">BorderLayout</a></span><span class="default">(</span><span class="number">0</span><span class="default">, </span><span class="number">0</span><span class="default">));</span>
<a name="58"><font size=-1>58 </font></a><span class="default"> <a href="dictionary_V.html#585">contentPane</a>.<a href="dictionary_S.html#581">setBackground</a>(<a href="dictionary_J.html#108">Color</a>.<a href="dictionary_W.html#464">WHITE</a>);</span>
<a name="59"><font size=-1>59 </font></a><span class="default"> <a href="dictionary_S.html#583">setContentPane</a>(<a href="dictionary_V.html#585">contentPane</a>);</span>
<a name="60"><font size=-1>60 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#585">contentPane</a></span><span class="default">;</span>
<a name="61"><font size=-1>61 </font></a><span class="default"> }</span>
<a name="62"><font size=-1>62 </font></a><span class="default"></span>
<a name="63"><font size=-1>63 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#8">JButton</a> <a href="dictionary_V.html#586">createButton</a></span><span class="default">(EventName <a href="dictionary_V.html#589">eventName</a>) {</span>
<a name="64"><font size=-1>64 </font></a><span class="default"> <a href="dictionary_J.html#8">JButton</a> <a href="dictionary_V.html#590">newButton</a> = </span><span class="keyword">new <a href="dictionary_J.html#8">JButton</a></span><span class="default">(<a href="dictionary_V.html#589">eventName</a>.<a href="dictionary_T.html#588">toString</a>());</span>
<a name="65"><font size=-1>65 </font></a><span class="default"> <a href="dictionary_V.html#590">newButton</a>.<a href="dictionary_S.html#587">setForeground</a>(<a href="dictionary_J.html#108">Color</a>.<a href="dictionary_B.html#453">BLACK</a>);</span>
<a name="66"><font size=-1>66 </font></a><span class="default"> <a href="dictionary_V.html#590">newButton</a>.<a href="dictionary_S.html#581">setBackground</a>(<a href="dictionary_J.html#108">Color</a>.<a href="dictionary_W.html#464">WHITE</a>);</span>
<a name="67"><font size=-1>67 </font></a><span class="default"> <a href="dictionary_V.html#590">newButton</a>.<a href="dictionary_S.html#582">setBorder</a>(<a href="dictionary_V.html#591">createButtonBorder</a>());</span>
<a name="68"><font size=-1>68 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#590">newButton</a></span><span class="default">;</span>
<a name="69"><font size=-1>69 </font></a><span class="default"> }</span>
<a name="70"><font size=-1>70 </font></a><span class="default"></span>
<a name="71"><font size=-1>71 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#557">Border</a> <a href="dictionary_V.html#591">createButtonBorder</a></span><span class="default">() {</span>
<a name="72"><font size=-1>72 </font></a><span class="default"> <a href="dictionary_J.html#557">Border</a> <a href="dictionary_V.html#592">line</a> = </span><span class="keyword">new <a href="dictionary_J.html#620">LineBorder</a></span><span class="default">(<a href="dictionary_J.html#108">Color</a>.<a href="dictionary_B.html#453">BLACK</a>);</span>
<a name="73"><font size=-1>73 </font></a><span class="default"> <a href="dictionary_J.html#557">Border</a> <a href="dictionary_V.html#593">margin</a> = </span><span class="keyword">new <a href="dictionary_J.html#560">EmptyBorder</a></span><span class="default">(<a href="dictionary_V.html#610">defaultButtonDimensions</a>);</span>
<a name="74"><font size=-1>74 </font></a><span class="default"> </span><span class="keyword">return new <a href="dictionary_J.html#559">CompoundBorder</a></span><span class="default">(<a href="dictionary_V.html#592">line</a>, <a href="dictionary_V.html#593">margin</a>);</span>
<a name="75"><font size=-1>75 </font></a><span class="default"> }</span>
<a name="76"><font size=-1>76 </font></a><span class="default"></span>
<a name="77"><font size=-1>77 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#594">createButtonPanel</a></span><span class="default">() {</span>
<a name="78"><font size=-1>78 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#599">panel</a> = </span><span class="keyword">new <a href="dictionary_J.html#619">JPanel</a></span><span class="default">();</span>
<a name="79"><font size=-1>79 </font></a><span class="default"> <a href="dictionary_J.html#561">FlowLayout</a> <a href="dictionary_V.html#598">flowLayout</a> = (FlowLayout) <a href="dictionary_V.html#599">panel</a>.<a href="dictionary_G.html#595">getLayout</a>();</span>
<a name="80"><font size=-1>80 </font></a><span class="default"> <a href="dictionary_V.html#598">flowLayout</a>.<a href="dictionary_S.html#596">setAlignment</a>(<a href="dictionary_J.html#561">FlowLayout</a>.<a href="dictionary_L.html#597">LEFT</a>);</span>
<a name="81"><font size=-1>81 </font></a><span class="default"> <a href="dictionary_V.html#599">panel</a>.<a href="dictionary_S.html#581">setBackground</a>(</span><span class="keyword">new <a href="dictionary_J.html#108">Color</a></span><span class="default">(</span><span class="number">156</span><span class="default">, </span><span class="number">156</span><span class="default">, </span><span class="number">156</span><span class="default">));</span>
<a name="82"><font size=-1>82 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#599">panel</a></span><span class="default">;</span>
<a name="83"><font size=-1>83 </font></a><span class="default"> }</span>
<a name="84"><font size=-1>84 </font></a><span class="default"></span>
<a name="85"><font size=-1>85 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#600">createMenu</a></span><span class="default">() {</span>
<a name="86"><font size=-1>86 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#602">buttonPanel</a> = <a href="dictionary_V.html#594">createButtonPanel</a>();</span>
<a name="87"><font size=-1>87 </font></a><span class="default"></span>
<a name="88"><font size=-1>88 </font></a><span class="default"> </span><span class="keyword">for </span><span class="default">(EventName <a href="dictionary_V.html#601">eventName</a> : EventName.<a href="dictionary_V.html#36">values</a>()) {</span>
<a name="89"><font size=-1>89 </font></a><span class="default"> <a href="dictionary_V.html#575">addButtonToPanel</a>(<a href="dictionary_V.html#601">eventName</a>, <a href="dictionary_V.html#602">buttonPanel</a>);</span>
<a name="90"><font size=-1>90 </font></a><span class="default"> }</span>
<a name="91"><font size=-1>91 </font></a><span class="default"></span>
<a name="92"><font size=-1>92 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#602">buttonPanel</a></span><span class="default">;</span>
<a name="93"><font size=-1>93 </font></a><span class="default"> }</span>
<a name="94"><font size=-1>94 </font></a><span class="default"></span>
<a name="95"><font size=-1>95 </font></a><span class="default"> </span><span class="keyword">private <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#603">createWindow</a></span><span class="default">() {</span>
<a name="96"><font size=-1>96 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#606">contentPane</a> = <a href="dictionary_V.html#580">createBackgroundPanel</a>();</span>
<a name="97"><font size=-1>97 </font></a><span class="default"> <a href="dictionary_J.html#619">JPanel</a> <a href="dictionary_V.html#605">buttonPanel</a> = <a href="dictionary_V.html#600">createMenu</a>();</span>
<a name="98"><font size=-1>98 </font></a><span class="default"> <a href="dictionary_V.html#606">contentPane</a>.<a href="dictionary_A.html#56">add</a>(<a href="dictionary_V.html#605">buttonPanel</a>, <a href="dictionary_J.html#558">BorderLayout</a>.<a href="dictionary_N.html#604">NORTH</a>);</span>
<a name="99"><font size=-1>99 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#606">contentPane</a></span><span class="default">;</span>
<a name="100"><font size=-1>100 </font></a><span class="default"> }</span>
<a name="101"><font size=-1>101 </font></a><span class="default"></span>
<a name="102"><font size=-1>102 </font></a><span class="default"> </span><span class="keyword">public <a href="dictionary_J.html#8">JButton</a> <a href="dictionary_V.html#607">getButton</a></span><span class="default">(EventName <a href="dictionary_V.html#609">eventName</a>) {</span>
<a name="103"><font size=-1>103 </font></a><span class="default"> </span><span class="keyword">if </span><span class="default">(!<a href="dictionary_V.html#614">eventButtons</a>.<a href="dictionary_C.html#608">containsKey</a>(<a href="dictionary_V.html#609">eventName</a>))</span>
<a name="104"><font size=-1>104 </font></a><span class="default"> </span><span class="keyword">throw new <a href="dictionary_J.html#622">NoSuchElementException</a></span><span class="default">(</span><span class="string">"Button does not exists for action " </span><span class="default">+ <a href="dictionary_V.html#609">eventName</a>.<a href="dictionary_T.html#588">toString</a>());</span>
<a name="105"><font size=-1>105 </font></a><span class="default"></span>
<a name="106"><font size=-1>106 </font></a><span class="default"> </span><span class="keyword">return <a href="dictionary_V.html#614">eventButtons</a></span><span class="default">.<a href="dictionary_G.html#67">get</a>(<a href="dictionary_V.html#609">eventName</a>);</span>
<a name="107"><font size=-1>107 </font></a><span class="default"> }</span>
<a name="108"><font size=-1>108 </font></a><span class="default">}</span>
<a name="109"><font size=-1>109 </font></a><span class="default"></span>
</pre></body></html>