]> git.mxchange.org Git - addressbook-lib.git/blobdiff - Addressbook/src/org/mxchange/addressbook/client/gui/AddressbookFrame.java
Introduced initStatusPanel() which initializes status panel + renamed methods accordi...
[addressbook-lib.git] / Addressbook / src / org / mxchange / addressbook / client / gui / AddressbookFrame.java
index 679684641897d4b3963daf725b13775f1612de93..c0f132fc73134c745269e4533221519bb99f29bb 100644 (file)
@@ -62,6 +62,15 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // Return instance
        return self;
     }
+    /**
+     * Frame instance for "add own data"
+     */
+    private JMenuItem addOwnItem;
+
+    /**
+     * Frame instance for "edit own data"
+     */
+    private JMenuItem editOwnItem;
 
     /**
      * Frame instance
@@ -118,8 +127,11 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
            // Debug message
            this.getLogger().debug("Disabling menus: isOwnContactAdded()=false");
 
-           // Not entered yet, so enable menu
-           //addOwnData.setEnabled(false);
+           // Not entered yet, so disable "add" menu
+           this.addOwnItem.setEnabled(false);
+       } else {
+           // Disable "edit"
+           this.editOwnItem.setEnabled(false);
        }
 
        // Make the frame visible
@@ -137,7 +149,7 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
      * @throws org.mxchange.addressbook.FrameAlreadyInitializedException If this method has been called twice
      */
     @Override
-    public void initFrame () throws FrameAlreadyInitializedException {
+    public void init () throws FrameAlreadyInitializedException {
        // Debug line
        this.getLogger().trace("CALLED!");
 
@@ -205,6 +217,20 @@ 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 panel
+       initStatusPanel();
+    }
+
+    /**
+     * Initializes the menu system
+     */
+    private void initMenuSystem () {
        // Init menu bar, menu and item instances
        JMenuBar menuBar = new JMenuBar();
        JMenu menu;
@@ -238,20 +264,68 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // Add menu -> menu bar
        menuBar.add(menu);
 
+       // Init some menus:
+       // 2) Addressbook menu
+       menu = new JMenu(this.getBundle().getString("AddressbookFrame.menu.addressbook.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"));
+
+       // 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 item -> menu
+       menu.add(this.addOwnItem);
+
+       // 2.2) Edit own data
+       this.editOwnItem = new JMenuItem(this.getBundle().getString("AddressbookFrame.menuItem.editOwnData.text"));
+       this.editOwnItem.setToolTipText(this.getBundle().getString("AddressbookFrame.menuItem.editOwnData.toolTipText"));
+
+       // Add listener to exit menu
+       this.editOwnItem.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().doChangeOwnData();
+           }
+       });
+
+       // Add item -> menu
+       menu.add(this.editOwnItem);
+
+       // Add menu -> menu bar
+       menuBar.add(menu);
+
        // Add menu bar -> frame
        this.frame.add(menuBar, BorderLayout.NORTH);
+    }
 
-       // Init status label (which needs to be updated
-       this.statusLabel = new JLabel(this.getBundle().getString("AddressbookFrame.statusLabel.initializing.text"));
-
+    /**
+     * Initializes status panel
+     */
+    private void initStatusPanel () {
        // 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);
     }
-
 }