]> git.mxchange.org Git - jbonuscard-lib.git/commitdiff
Introduced initMenuSystem() which initializes whole menu bar
authorRoland Haeder <roland@mxchange.org>
Fri, 24 Jul 2015 06:35:54 +0000 (08:35 +0200)
committerRoland Haeder <roland@mxchange.org>
Fri, 24 Jul 2015 06:35:54 +0000 (08:35 +0200)
Signed-off-by:Roland Häder <roland@mxchange.org>

Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java
Addressbook/src/org/mxchange/addressbook/localization/bundle_de_DE.properties
Addressbook/src/org/mxchange/addressbook/localization/bundle_en_US.properties

index 679684641897d4b3963daf725b13775f1612de93..0cd0a3fc48eb6dc3b99e1a531454ad1747e2c961 100644 (file)
@@ -78,6 +78,11 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
      */
     private JLabel statusLabel;
 
+    /**
+     * Frame instance
+     */
+    private JMenuItem addOwnItem;
+
     /**
      * Creates an instance of this frame with a client instance
      * 
@@ -119,7 +124,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
            this.getLogger().debug("Disabling menus: isOwnContactAdded()=false");
 
            // Not entered yet, so enable menu
-           //addOwnData.setEnabled(false);
+           this.addOwnItem.setEnabled(false);
        }
 
        // Make the frame visible
@@ -205,6 +210,26 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // Center window in middle of screen, instead of top-left corner
        this.frame.setLocationRelativeTo(null);
 
+       // Init menu system
+       initMenuSystem();
+
+       // Init status label (which needs to be updated
+       this.statusLabel = new JLabel(this.getBundle().getString("AddressbookFrame.statusLabel.initializing.text"));
+
+       // Init status bar in south
+       JPanel panel = new JPanel();
+       panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
+       panel.add(this.statusLabel);
+       panel.setBorder(BorderFactory.createEtchedBorder());
+
+       // Add panel to frame
+       this.frame.add(panel, BorderLayout.SOUTH);
+    }
+
+    /**
+     * Initializes the menu system
+     */
+    private void initMenuSystem () {
        // Init menu bar, menu and item instances
        JMenuBar menuBar = new JMenuBar();
        JMenu menu;
@@ -238,20 +263,35 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // Add menu -> menu bar
        menuBar.add(menu);
 
-       // Add menu bar -> frame
-       this.frame.add(menuBar, BorderLayout.NORTH);
+       // Init some menus:
+       // 2) Addressbook menu
+       menu = new JMenu(this.getBundle().getString("AddressbookFrame.menu.addressbook.text"));
 
-       // Init status label (which needs to be updated
-       this.statusLabel = new JLabel(this.getBundle().getString("AddressbookFrame.statusLabel.initializing.text"));
+       // 2.1) Add own data
+       this.addOwnItem = new JMenuItem(this.getBundle().getString("AddressbookFrame.menuItem.addOwnData.text"));
+       this.addOwnItem.setToolTipText(this.getBundle().getString("AddressbookFrame.menuItem.addOwnData.toolTipText"));
 
-       // Init status bar in south
-       JPanel panel = new JPanel();
-       panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
-       panel.add(this.statusLabel);
-       panel.setBorder(BorderFactory.createEtchedBorder());
+       // Add listener to exit menu
+       this.addOwnItem.addActionListener(new ActionListener() {
+           /**
+            * If the user has performed this action
+            *
+            * @param e An instance of an ActionEvent class
+            */
+           @Override
+           public void actionPerformed (final ActionEvent e) {
+               self.getClient().getContactManager().doEnterOwnData();
+           }
+       });
 
-       // Add panel to frame
-       this.frame.add(panel, BorderLayout.SOUTH);
+       // Add item -> menu
+       menu.add(this.addOwnItem);
+
+       // Add menu -> menu bar
+       menuBar.add(menu);
+
+       // Add menu bar -> frame
+       this.frame.add(menuBar, BorderLayout.NORTH);
     }
 
 }
index 1a68562c97e7e8434cb2623483b9bd058d8ccd3d..29fec7da9954a87efeb51aa484007a00a2799dce 100644 (file)
@@ -13,7 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AddressbookFrame.addOwn.text=Eigene Adresse hinzuf\u00fcgen
 AddressbookFrame.menu.file.text=Datei
 AddressbookFrame.statusLabel.initializing.text=Initialisiere ...
 AddressbookFrame.statusLabel.done.text=Fertig.
@@ -21,4 +20,5 @@ AddressbookFrame.statusLabel.shutdown.text=Shuttting down ...
 AddressbookFrame.menuItem.exitProgram.toolTipText=Beendet das Programm und speichert alle Einstellungen ab.
 AddressbookFrame.menuItem.exitProgram.text=Programm beenden
 AddressbookFrame.menu.addressbook.text=Adressbuch
-AddressbookFrame.addOwnData.toolTipText=Erlaubt das Hinzuf\u00fcgen eigener Daten.
+AddressbookFrame.menuItem.addOwnData.text=Eigene Adresse hinzuf\u00fcgen
+AddressbookFrame.menuItem.addOwnData.toolTipText=Erlaubt das Hinzuf\u00fcgen eigener Daten.
index b3853fb19041ae4cc0b039741ad4ce4cf283e469..4def06bfdddd581cd35723b9d477bbf4e09d863c 100644 (file)
@@ -13,7 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AddressbookFrame.addOwn.text=Add own address
 AddressbookFrame.menu.file.text=File
 AddressbookFrame.statusLabel.initializing.text=Initializing ...
 AddressbookFrame.statusLabel.done.text=Done.
@@ -21,4 +20,5 @@ AddressbookFrame.statusLabel.shutdown.text=Shuttting down ...
 AddressbookFrame.menuItem.exitProgram.toolTipText=Exits the program and saves all data.
 AddressbookFrame.menuItem.exitProgram.text=Exit program
 AddressbookFrame.addressbookMenu.text=Addressbook
-AddressbookFrame.addOwnData.toolTipText=Allows the user to add own address data
+AddressbookFrame.menuItem.addOwnData.text=Add own address
+AddressbookFrame.menuItem.addOwnData.toolTipText=Allows the user to add own address data