View Javadoc

1   /********************************************************************************
2    *InternetCafe is a software solution that helps the management of Cybercafes 
3    * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4    * Copyright (C) 2006  Guido Angelo Ingenito
5   
6    * This program is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU General Public License
8    * as published by the Free Software Foundation; either version 2
9    * of the License, or (at your option) any later version.
10  
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   * 
16   * You should have received a copy of the GNU General Public License
17   * along with this program; if not, write to the Free Software
18   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19   *******************************************************************************/
20  
21  package base.jdbs.ui;
22  
23  import java.awt.event.ActionEvent;
24  import java.awt.event.ActionListener;
25  
26  import javax.swing.JMenu;
27  import javax.swing.JMenuBar;
28  import javax.swing.JMenuItem;
29  import javax.swing.JSeparator;
30  
31  import org.apache.log4j.Logger;
32  
33  import ui.command.CommandExecutor;
34  import base.jdbs.ui.command.ExitCommand;
35  import base.jdbs.ui.command.NewBackupCommand;
36  
37  /***
38   * @author skunk
39   * 
40   */
41  @SuppressWarnings("serial")
42  public class JDBSMenuBar extends JMenuBar {
43  
44  	private static final transient Logger logger = Logger
45  			.getLogger(JDBSMenuBar.class.getName());
46  
47  	private JMenu menuFile;
48  
49  	private JMenuItem menuFileNewBackup;
50  
51  	private JMenuItem menuFileExit;
52  
53  	public JDBSMenuBar() {
54  		initialize();
55  	}
56  
57  	protected void initialize() {
58  		this.add(this.getMenuFile());
59  	}
60  
61  	/***
62  	 * @return Returns the menuFile.
63  	 */
64  	protected JMenu getMenuFile() {
65  		if (this.menuFile == null) {
66  			this.menuFile = new JMenu("File");
67  			this.menuFile.add(this.getMenuFileNewBackup());
68  			this.menuFile.add(new JSeparator());
69  			this.menuFile.add(this.getMenuFileExit());
70  		}
71  		return menuFile;
72  	}
73  
74  	/***
75  	 * @return Returns the menuFileExit.
76  	 */
77  	protected JMenuItem getMenuFileExit() {
78  		if (this.menuFileExit == null) {
79  			this.menuFileExit = new JMenuItem("Exit");
80  			this.menuFileExit.addActionListener(new ActionListener() {
81  
82  				public void actionPerformed(ActionEvent arg0) {
83  					CommandExecutor.getInstance().executeCommand(
84  							new ExitCommand(), false);
85  				}
86  			});
87  		}
88  		return menuFileExit;
89  	}
90  
91  	/***
92  	 * @return Returns the menuFileNewBackup.
93  	 */
94  	protected JMenuItem getMenuFileNewBackup() {
95  		if (this.menuFileNewBackup == null) {
96  			this.menuFileNewBackup = new JMenuItem("New Backup");
97  			this.menuFileNewBackup.addActionListener(new ActionListener() {
98  
99  				public void actionPerformed(ActionEvent arg0) {
100 					CommandExecutor.getInstance().executeCommand(
101 							new NewBackupCommand(), false);
102 				}
103 			});
104 		}
105 		return menuFileNewBackup;
106 	}
107 
108 }