KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > piratepete > dbpirate > ui > MainMenu


1 /**
2  * MainMenu Class
3  * Copyright (C) 2003 Jeremy Whitlock, David L. Whitehurst<p>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.<p>
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.<p>
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<p>
18  *
19  * <a HREF="http://www.piratepetesoftware.com">piratepetesoftware.com</a><br>
20  * <a HREF="mailto:dlwhitehurst@comcast.net">dlwhitehurst@comcast.net</a>
21  *
22  * @version 1.1.0
23  */

24 package com.piratepete.dbpirate.ui;
25
26 import java.awt.Event JavaDoc;
27 import java.awt.event.ActionEvent JavaDoc;
28 import java.awt.event.ActionListener JavaDoc;
29 import java.awt.event.WindowEvent JavaDoc;
30
31 import javax.swing.Action JavaDoc;
32 import javax.swing.JMenu JavaDoc;
33 import javax.swing.JMenuBar JavaDoc;
34 import javax.swing.JMenuItem JavaDoc;
35 import javax.swing.KeyStroke JavaDoc;
36
37 public class MainMenu extends JMenuBar JavaDoc {
38     
39     /**
40      * Constructor Method the application's menu
41      *
42      */

43
44     public MainMenu(Action JavaDoc[] actions, MainWindow parent)
45     {
46         this.appWindow = parent;
47         buildMenuBar();
48         buildMenuItems(actions);
49         removeIcons();
50         buildMnemonics();
51         buildAccelerators();
52         buildActionListeners();
53     }
54
55     /**
56      * Create the application menubar
57      *
58      */

59     
60     public void buildMenuBar()
61     {
62         fileMenu = new JMenu JavaDoc("File");
63         editMenu = new JMenu JavaDoc("Edit");
64         sqlMenu = new JMenu JavaDoc("SQL Window");
65         toolsMenu = new JMenu JavaDoc("Tools");
66         dbMenu = new JMenu JavaDoc("Database");
67         optnMenu = new JMenu JavaDoc("Options");
68         helpMenu = new JMenu JavaDoc("Help");
69         
70         this.add(fileMenu);
71         this.add(editMenu);
72         this.add(sqlMenu);
73         this.add(toolsMenu);
74         this.add(dbMenu);
75         this.add(optnMenu);
76         this.add(helpMenu);
77     }
78     
79     /**
80      * Assign action array members to the application menubar
81      *
82      */

83     
84     public void buildMenuItems(Action JavaDoc[] actions)
85     {
86         newItem = new JMenuItem JavaDoc(actions[0]);
87 /*
88         opnItem = new JMenuItem(actions[1]);
89         clsItem = new JMenuItem(actions[2]);
90         claItem = new JMenuItem(actions[3]);
91         sveItem = new JMenuItem(actions[4]);
92         svaItem = new JMenuItem(actions[5]);
93         prtItem = new JMenuItem(actions[6]);
94         undItem = new JMenuItem(actions[7]);
95         redItem = new JMenuItem(actions[8]);
96         cutItem = new JMenuItem(actions[9]);
97         cpyItem = new JMenuItem(actions[10]);
98         pstItem = new JMenuItem(actions[11]);
99         fndItem = new JMenuItem(actions[12]);
100         delItem = new JMenuItem(actions[13]);
101 */

102         //File Menu
103
//----------------------------------------------------------------------
104
//fileMenu.add(newItem); //Adds New Menu Item To File Menu
105
/*
106         fileMenu.add(opnItem); //Adds Open Menu Item To File Menu
107         fileMenu.add(clsItem); //Adds Close Menu Item To File Menu
108         fileMenu.add(claItem); //Adds Close All Menu Item To File Menu
109         recItem = fileMenu.add("Recent"); //Adds Recent Menu Item To File Menu
110         fileMenu.addSeparator(); //Adds Separator To File Menu
111         fileMenu.add(sveItem); //Adds Save Menu Item To File Menu
112         fileMenu.add(svaItem); //Adds Save All Item To File Menu
113         svsItem = fileMenu.add("Save As"); //Adds Save As Menu Item To File Menu
114         fileMenu.addSeparator(); //Adds Separator To File Menu
115         uplItem = fileMenu.add("Upload"); //Adds Upload Item To File Menu
116         dnlItem = fileMenu.add("Download"); //Adds Download Item To File Menu
117         fileMenu.add(prtItem); //Adds Print Item To File Menu
118         fileMenu.addSeparator(); //Adds Separator To File Menu
119     */

120         newItem = fileMenu.add("New Connection");
121         extItem = fileMenu.add("Exit"); //Adds Exit Item To File Menu
122

123                 //----------------------------------------------------------------------
124
//End File Menu
125

126         //Edit Menu
127
//----------------------------------------------------------------------
128
// editMenu.add(undItem); //Adds Undo Item To Edit Menu
129
// editMenu.add(redItem); //Adds Redo Item To Edit Menu
130
// editMenu.addSeparator(); //Adds Separator To Edit Menu
131
// editMenu.add(cutItem); //Adds Cut Item To Edit Menu
132
// editMenu.add(cpyItem); //Adds Copy Item To Edit Menu
133
// editMenu.add(pstItem); //Adds Paste Item To Edit Menu
134
// editMenu.add(delItem); //Adds Delete Item To Edit Menu
135
// editMenu.addSeparator(); //Adds Separator To Edit Menu
136
// editMenu.add(fndItem); //Adds Find Menu Item To Edit Menu
137
// repItem = editMenu.add("Replace"); //Adds Replace Menu Item To Edit Menu
138
//----------------------------------------------------------------------
139
//End Edit Menu
140

141         //Options Menu
142
//----------------------------------------------------------------------
143
// edtItem = optnMenu.add("Editor Options"); //Adds Editor Options Menu Item To Options Menu
144
// vewItem = optnMenu.add("View Options"); //Adds View Options Menu Item To Options Menu
145
//----------------------------------------------------------------------
146
//End Options Menu
147

148         //Help Menu
149
//----------------------------------------------------------------------
150
// docItem = helpMenu.add("Documentation"); //Adds Documentation Menu Item To Help Menu
151
// helpMenu.addSeparator(); //Adds Separator To Edit Menu
152
abtItem = helpMenu.add("About"); //Adds About Menu Item To Help Menu
153
//----------------------------------------------------------------------
154
//End Help Menu
155
}
156
157     /**
158      * null icons that may be part of the application menubar
159      *
160      */

161     
162     public void removeIcons()
163     {
164         newItem.setIcon(null);
165 // opnItem.setIcon(null);
166
// clsItem.setIcon(null);
167
// claItem.setIcon(null);
168
// sveItem.setIcon(null);
169
// svaItem.setIcon(null);
170
// prtItem.setIcon(null);
171
// undItem.setIcon(null);
172
// redItem.setIcon(null);
173
// cutItem.setIcon(null);
174
// cpyItem.setIcon(null);
175
// pstItem.setIcon(null);
176
// fndItem.setIcon(null);
177
// delItem.setIcon(null);
178
}
179
180     /**
181      * creates the Shortcut keys
182      */

183     
184     public void buildMnemonics()
185     {
186         //JMenuBar
187
//----------------------------------------------------------------------
188
fileMenu.setMnemonic('F'); //Sets Mnemonic Key To "F"
189
// editMenu.setMnemonic('E'); //Sets Mnemonic Key To "E"
190
// optnMenu.setMnemonic('T'); //Sets Mnemonic Key To "T"
191
// helpMenu.setMnemonic('H'); //Sets Mnemonic Key To "H"
192
//----------------------------------------------------------------------
193
//End JMenuBar
194

195         //File Menu
196
//----------------------------------------------------------------------
197
// recItem.setMnemonic('R'); //Sets Mnemonic Key To "R"
198
// svsItem.setMnemonic('E'); //Sets Mnemonic Key To "E"
199
// uplItem.setMnemonic('U'); //Sets Mnemonic Key To "U"
200
// dnlItem.setMnemonic('D'); //Sets Mnemonic Key To "D"
201
extItem.setMnemonic('X'); //Sets Mnemonic Key To "X"
202
//----------------------------------------------------------------------
203
//End File Menu
204

205         //Edit Menu
206
//----------------------------------------------------------------------
207
// repItem.setMnemonic('P'); //Sets Mnemonic Key To "P"
208
//----------------------------------------------------------------------
209
//End Edit Menu
210

211         //Options Menu
212
//----------------------------------------------------------------------
213
// edtItem.setMnemonic('E'); //Sets Mnemonic Key To "E"
214
// vewItem.setMnemonic('V'); //Sets Mnemonic Key To "V"
215
//----------------------------------------------------------------------
216
//End Options Menu
217

218         //Help Menu
219
//----------------------------------------------------------------------
220
// docItem.setMnemonic('D'); //Sets Mnemonic Key To "D"
221
// abtItem.setMnemonic('A'); //Sets Mnemonic Key To "A"
222
//----------------------------------------------------------------------
223
//End Help Menu
224
}
225
226     /**
227      * Assign accelerator keystrokes to the application menubar
228      *
229      */

230     
231     public void buildAccelerators()
232     {
233         //File Menu
234
//----------------------------------------------------------------------
235
newItem.setAccelerator(KeyStroke.getKeyStroke('N', Event.CTRL_MASK));
236 // opnItem.setAccelerator(KeyStroke.getKeyStroke('O', Event.CTRL_MASK));
237
// sveItem.setAccelerator(KeyStroke.getKeyStroke('S', Event.CTRL_MASK));
238
// svaItem.setAccelerator(KeyStroke.getKeyStroke('A', Event.CTRL_MASK));
239
// prtItem.setAccelerator(KeyStroke.getKeyStroke('P', Event.CTRL_MASK));
240
// clsItem.setAccelerator(KeyStroke.getKeyStroke('W', Event.CTRL_MASK));
241
// claItem.setAccelerator(KeyStroke.getKeyStroke('Q', Event.CTRL_MASK));
242
//----------------------------------------------------------------------
243
//End File Menu
244

245         //Edit Menu
246
//----------------------------------------------------------------------
247
// undItem.setAccelerator(KeyStroke.getKeyStroke('Z', Event.CTRL_MASK));
248
// redItem.setAccelerator(KeyStroke.getKeyStroke('Y', Event.CTRL_MASK));
249
// cutItem.setAccelerator(KeyStroke.getKeyStroke('X', Event.CTRL_MASK));
250
// cpyItem.setAccelerator(KeyStroke.getKeyStroke('C', Event.CTRL_MASK));
251
// pstItem.setAccelerator(KeyStroke.getKeyStroke('V', Event.CTRL_MASK));
252
// fndItem.setAccelerator(KeyStroke.getKeyStroke('F', Event.CTRL_MASK));
253
// delItem.setAccelerator(KeyStroke.getKeyStroke("DELETE"));
254
// fndItem.setAccelerator(KeyStroke.getKeyStroke('F', Event.CTRL_MASK));
255
// repItem.setAccelerator(KeyStroke.getKeyStroke('H', Event.CTRL_MASK));
256
//----------------------------------------------------------------------
257
//End Edit Menu
258

259         //Options Menu
260
//----------------------------------------------------------------------
261

262         //----------------------------------------------------------------------
263
//End Options Menu
264

265         //Help Menu
266
//----------------------------------------------------------------------
267

268         //----------------------------------------------------------------------
269
//End Help Menu
270
}
271     
272     /**
273      * Assign each item an action listener
274      *
275      */

276     
277     public void buildActionListeners()
278     {
279         //File Menu
280
//----------------------------------------------------------------------
281
extItem.addActionListener(new ActionListener JavaDoc()
282                 {
283             public void actionPerformed(ActionEvent JavaDoc e)
284             {
285                 //System.exit(0); //Exits System
286
appWindow.processWindowEvent(new WindowEvent JavaDoc(appWindow, WindowEvent.WINDOW_CLOSING));
287             }
288         });
289         //----------------------------------------------------------------------
290
//End File Menu
291

292         //Edit Menu
293
//----------------------------------------------------------------------
294

295         //----------------------------------------------------------------------
296
//End Edit Menu
297

298         //Options Menu
299
//----------------------------------------------------------------------
300

301         //----------------------------------------------------------------------
302
//End Options Menu
303

304         //Help Menu
305
//----------------------------------------------------------------------
306
abtItem.addActionListener(new ActionListener JavaDoc()
307                 {
308             public void actionPerformed(ActionEvent JavaDoc e)
309             {
310                 About about = new About(appWindow, true );
311                 //about.setVisible(true);
312
}
313         });
314     }
315
316     // global private
317
private JMenu JavaDoc fileMenu, editMenu, sqlMenu, toolsMenu, dbMenu, optnMenu, helpMenu;
318     
319     private JMenuItem JavaDoc recItem, svsItem, uplItem, dnlItem,extItem, repItem,
320     abtItem, docItem, newItem, opnItem, clsItem, claItem, sveItem, svaItem, prtItem,
321     undItem, redItem, cutItem, cpyItem, pstItem, fndItem, delItem, edtItem, vewItem;
322     
323     MainWindow appWindow = null;
324     
325 }
326
Popular Tags