MenuBar.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package gui.menubar;
  2. import gui.frames.MainFrame;
  3. import gui.main.Main;
  4. import javafx.stage.*;
  5. import java.awt.*;
  6. import java.awt.Window;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.event.KeyEvent;
  10. import java.io.IOException;
  11. import java.lang.reflect.InvocationTargetException;
  12. import java.lang.reflect.Method;
  13. import javax.swing.*;
  14. import agenda.Agenda;
  15. import agenda.Io;
  16. @SuppressWarnings("serial")
  17. public class MenuBar extends JMenuBar{
  18. private MainFrame mainFrame;
  19. public MenuBar(MainFrame frame){
  20. this.mainFrame = frame;
  21. initialize();
  22. }
  23. private void initialize(){
  24. setLayout(new FlowLayout(80));
  25. JMenu fileMenu = new JMenu("File");
  26. JMenu editMenu = new JMenu("Edit");
  27. JMenu viewMenu = new JMenu("View");
  28. JMenu helpMenu = new JMenu("Help");
  29. this.add(fileMenu);
  30. this.add(editMenu);
  31. this.add(viewMenu);
  32. this.add(helpMenu);
  33. JMenuItem newAction = new JMenuItem("New");
  34. JMenuItem openAction = new JMenuItem("Open");
  35. JMenuItem exitAction = new JMenuItem("Exit");
  36. JMenuItem cutAction = new JMenuItem("Cut");
  37. JMenuItem copyAction = new JMenuItem("Copy");
  38. JMenuItem pasteAction = new JMenuItem("Paste");
  39. JMenuItem saveAction = new JMenuItem("Save");
  40. //view
  41. JMenuItem editorView = new JMenuItem("Editor");
  42. JMenuItem agendaView = new JMenuItem("Agenda");
  43. JMenuItem simulatorView = new JMenuItem("Simulator");
  44. JMenuItem tableView = new JMenuItem("Table");
  45. newAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
  46. openAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
  47. exitAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
  48. cutAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
  49. copyAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
  50. pasteAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
  51. saveAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
  52. fileMenu.add(newAction);
  53. newAction.addActionListener(new ActionListener() {
  54. public void actionPerformed(ActionEvent arg0) {
  55. System.out.println("You have clicked on the new action");
  56. }
  57. });
  58. fileMenu.add(openAction);
  59. openAction.addActionListener(new ActionListener() {
  60. public void actionPerformed(ActionEvent arg0) {
  61. try {
  62. Agenda agenda = Io.readIo();
  63. mainFrame.setAgenda(agenda);
  64. } catch (IOException e) {
  65. e.printStackTrace();
  66. }
  67. }
  68. });
  69. fileMenu.add(openAction);
  70. openAction.addActionListener(new ActionListener() {
  71. public void actionPerformed(ActionEvent arg0) {
  72. try {
  73. Agenda agenda = Io.readIo();
  74. mainFrame.setAgenda(agenda);
  75. } catch (IOException e) {
  76. e.printStackTrace();
  77. }
  78. }
  79. });
  80. fileMenu.addSeparator();
  81. fileMenu.add(exitAction);
  82. exitAction.addActionListener(new ActionListener() {
  83. public void actionPerformed(ActionEvent arg0) {
  84. System.exit(0);
  85. }
  86. });
  87. editMenu.add(cutAction);
  88. cutAction.addActionListener(new ActionListener() {
  89. public void actionPerformed(ActionEvent arg0) {
  90. System.out.println("You have clicked on the cut action");
  91. }
  92. });
  93. editMenu.add(copyAction);
  94. copyAction.addActionListener(new ActionListener() {
  95. public void actionPerformed(ActionEvent arg0) {
  96. System.out.println("You have clicked on the copy action");
  97. }
  98. });
  99. editMenu.add(pasteAction);
  100. pasteAction.addActionListener(new ActionListener() {
  101. public void actionPerformed(ActionEvent arg0) {
  102. System.out.println("You have clicked on the paste action");
  103. }
  104. });
  105. //view
  106. viewMenu.add(editorView);
  107. editorView.addActionListener(new ActionListener() {
  108. @Override
  109. public void actionPerformed(ActionEvent e) {
  110. System.out.println("Editor View");
  111. mainFrame.changeView(MainFrame.Views.EDITOR);
  112. }
  113. });
  114. viewMenu.add(simulatorView);
  115. simulatorView.addActionListener(new ActionListener() {
  116. @Override
  117. public void actionPerformed(ActionEvent e) {
  118. System.out.println("Simulator View");
  119. mainFrame.changeView(MainFrame.Views.SIMULATOR);
  120. }
  121. });
  122. viewMenu.add(agendaView);
  123. agendaView.addActionListener(new ActionListener() {
  124. @Override
  125. public void actionPerformed(ActionEvent e) {
  126. System.out.println("Agenda View");
  127. mainFrame.changeView(MainFrame.Views.AGENDA);
  128. }
  129. });
  130. viewMenu.add(tableView);
  131. tableView.addActionListener(new ActionListener() {
  132. @Override
  133. public void actionPerformed(ActionEvent e) {
  134. mainFrame.changeView(MainFrame.Views.TABLE);
  135. }
  136. });
  137. }
  138. }