]> 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 0cd0a3fc48eb6dc3b99e1a531454ad1747e2c961..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
@@ -78,11 +87,6 @@ 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
      * 
@@ -123,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
+           // Not entered yet, so disable "add" menu
            this.addOwnItem.setEnabled(false);
+       } else {
+           // Disable "edit"
+           this.editOwnItem.setEnabled(false);
        }
 
        // Make the frame visible
@@ -142,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!");
 
@@ -216,14 +223,8 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // 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);
+       // Init status panel
+       initStatusPanel();
     }
 
     /**
@@ -287,6 +288,26 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        // 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);
 
@@ -294,4 +315,17 @@ public class AddressbookFrame extends BaseFrameworkSystem implements ClientFrame
        this.frame.add(menuBar, BorderLayout.NORTH);
     }
 
+    /**
+     * 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);
+    }
 }