Advertisement
Sunnas

MenuBar

Mar 15th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.86 KB | None | 0 0
  1. package cz.sunnas.school.LS.hour03_04_swing;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.event.KeyEvent;
  7. import javax.swing.JMenu;
  8. import javax.swing.JMenuBar;
  9. import javax.swing.JMenuItem;
  10. import javax.swing.JSeparator;
  11. import javax.swing.KeyStroke;
  12.  
  13. public class MenuBar extends JMenuBar {
  14.    
  15.     private final RecipesDatabaseEditor parentFrame;
  16.     private final Dimension menuSize = new Dimension(250, 20);
  17.     private boolean isLoaded = false;
  18.    
  19.     public MenuBar(RecipesDatabaseEditor parentFrame) {
  20.         this.parentFrame = parentFrame;
  21.  
  22.         JMenu file = new JMenu("File");
  23.         file.setMnemonic(KeyEvent.VK_F);
  24.         file.add(LoadRecipes());
  25.         file.add(new JSeparator(JSeparator.HORIZONTAL));
  26.         file.add(AddRecipe());
  27.         file.add(EditRecipe());
  28.         file.add(DeleteRecipe());
  29.         file.add(new JSeparator(JSeparator.HORIZONTAL));
  30.         file.add(Exit());
  31.        
  32.         this.add(file);
  33.     }
  34.  
  35.     private JMenuItem LoadRecipes() {
  36.         JMenuItem load = new JMenuItem("Open recipes");
  37.         load.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
  38.         load.setPreferredSize(menuSize);
  39.        
  40.         load.addActionListener(new ActionListener() {
  41.  
  42.             @Override
  43.             public void actionPerformed(ActionEvent e) {
  44.                 LoadRecipes dlg = new LoadRecipes(parentFrame);
  45.                 dlg.setModal(true); // modalita !!!
  46.                 dlg.setVisible(true);   // ceka dokud nebude uzavren formular
  47.                 if (dlg.getResult() != null) {  // precte hodnotu
  48.                     isLoaded = true;
  49.                     parentFrame.setPathOfRecipes(dlg.getResult());
  50.                 }
  51.                 dlg.dispose();
  52.             }
  53.         });
  54.        
  55.         return load;
  56.     }
  57.    
  58.     private JMenuItem AddRecipe() {
  59.         JMenuItem add = new JMenuItem("Add recipe...");
  60.         add.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
  61.         add.setPreferredSize(menuSize);
  62.         add.setEnabled(isLoaded);
  63.        
  64.         add.addActionListener(new ActionListener() {
  65.  
  66.             @Override
  67.             public void actionPerformed(ActionEvent e) {
  68.                
  69.             }
  70.         });
  71.        
  72.         return add;
  73.     }
  74.    
  75.     private JMenuItem EditRecipe() {
  76.         JMenuItem edit = new JMenuItem("Edit recipe");
  77.         edit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK));
  78.         edit.setPreferredSize(menuSize);
  79.         edit.setEnabled(isLoaded);
  80.        
  81.         edit.addActionListener(new ActionListener() {
  82.  
  83.             @Override
  84.             public void actionPerformed(ActionEvent e) {
  85.                
  86.             }
  87.         });
  88.        
  89.         return edit;
  90.     }
  91.    
  92.     private JMenuItem DeleteRecipe() {
  93.         JMenuItem delete = new JMenuItem("Delete recipe");
  94.         delete.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
  95.         delete.setPreferredSize(menuSize);
  96.         delete.setEnabled(isLoaded);
  97.        
  98.         delete.addActionListener(new ActionListener() {
  99.  
  100.             @Override
  101.             public void actionPerformed(ActionEvent e) {
  102.                
  103.             }
  104.         });
  105.        
  106.         return delete;
  107.     }
  108.    
  109.     private JMenuItem Exit() {
  110.         JMenuItem exit = new JMenuItem("Exit");
  111.         exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
  112.         exit.setPreferredSize(menuSize);
  113.        
  114.         exit.addActionListener(new ActionListener() {
  115.  
  116.             @Override
  117.             public void actionPerformed(ActionEvent e) {
  118.                 parentFrame.setVisible(false);
  119.                 parentFrame.dispose();
  120.             }
  121.         });
  122.        
  123.         return exit;
  124.     }
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement