// Return instance
return self;
}
+ /**
+ * Frame instance for "add own data"
+ */
+ private JMenuItem addOwnItem;
+
+ /**
+ * Frame instance for "edit own data"
+ */
+ private JMenuItem editOwnItem;
/**
* Frame instance
*/
private JLabel statusLabel;
- /**
- * Frame instance
- */
- private JMenuItem addOwnItem;
-
/**
* Creates an instance of this frame with a client instance
*
// 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
* @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!");
// 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();
}
/**
// 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);
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);
+ }
}