@Override
        public void actionPerformed(ActionEvent ae) {
            
            switch (ae.getActionCommand()) {
                
                case "New" :
                {    
                        RegisterItem model = new RegisterItem();
                        int mode = RegisterItemController.CREATE;
                        final RegisterItemController  controller = new RegisterItemController(model, mode);
                        controller.getDialog(SwingUtilities.getWindowAncestor(table),
                                             "New Register Item");
                        controller.addRegisterItemListener(new RegisterItemListener() {
                            @Override
                            public void createdRegisterItem(RegisterItemModelInterface model) {
                               tableModel.addRegisterItem((RegisterItem)model);
                               controller.close();
                            }
                            @Override
                            public void canceledRegisterItem(RegisterItemControllerInterface controller) {
                                controller.close();
                            }
                        });
                }
                break;
                    
                case "Edit" :
                {
                        RegisterItem model = selectedRegisterItem;
                        int mode = RegisterItemController.UPDATE;
                        final RegisterItemController  controller = new RegisterItemController(model, mode);
                        controller.getDialog(SwingUtilities.getWindowAncestor(table),
                                             "Update Register Item");
                        controller.addRegisterItemListener(new RegisterItemListener() {
                            @Override
                            public void updatedRegisterItem(RegisterItemModelInterface model) {
                               tableModel.updateRegisterItem((RegisterItem)model);
                               controller.close();
                            }
                            @Override
                            public void canceledRegisterItem(RegisterItemControllerInterface controller) {
                                controller.close();
                            }
                        });
                }
                break;
                    
                case "Delete" :
                        
                       //actionDelete();
                       int row = table.getSelectedRow();
                       if( row > -1) {
                           tableModel.removeRegisterItem(row);
                       }
                       
                       break;
                    
                case "Add Photo" :

                       System.out.println("RegisterTableGUI - ActionEvent - New Photo");
                       //actionEdit();
                
                       JOptionPane.showMessageDialog(null,
                            "Register Edit - Not supported yet",
                            "Error",
                            JOptionPane.ERROR_MESSAGE);
                    
                       break;                                        
                
            }

        }