MenuBar.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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(saveAction);
  70. saveAction.addActionListener(new ActionListener() {
  71. public void actionPerformed(ActionEvent e) {
  72. try {
  73. Io.writeIo(mainFrame.getAgenda());
  74. } catch (IOException e1) {
  75. e1.printStackTrace();
  76. }
  77. }
  78. });
  79. fileMenu.addSeparator();
  80. fileMenu.add(exitAction);
  81. exitAction.addActionListener(new ActionListener() {
  82. public void actionPerformed(ActionEvent arg0) {
  83. System.exit(0);
  84. }
  85. });
  86. editMenu.add(cutAction);
  87. cutAction.addActionListener(new ActionListener() {
  88. public void actionPerformed(ActionEvent arg0) {
  89. System.out.println("You have clicked on the cut action");
  90. }
  91. });
  92. editMenu.add(copyAction);
  93. copyAction.addActionListener(new ActionListener() {
  94. public void actionPerformed(ActionEvent arg0) {
  95. System.out.println("You have clicked on the copy action");
  96. }
  97. });
  98. editMenu.add(pasteAction);
  99. pasteAction.addActionListener(new ActionListener() {
  100. public void actionPerformed(ActionEvent arg0) {
  101. System.out.println("You have clicked on the paste action");
  102. }
  103. });
  104. //view
  105. viewMenu.add(editorView);
  106. editorView.addActionListener(new ActionListener() {
  107. @Override
  108. public void actionPerformed(ActionEvent e) {
  109. System.out.println("Editor View");
  110. mainFrame.changeView(MainFrame.Views.EDITOR);
  111. }
  112. });
  113. viewMenu.add(simulatorView);
  114. simulatorView.addActionListener(new ActionListener() {
  115. @Override
  116. public void actionPerformed(ActionEvent e) {
  117. System.out.println("Simulator View");
  118. mainFrame.changeView(MainFrame.Views.SIMULATOR);
  119. }
  120. });
  121. viewMenu.add(agendaView);
  122. agendaView.addActionListener(new ActionListener() {
  123. @Override
  124. public void actionPerformed(ActionEvent e) {
  125. System.out.println("Agenda View");
  126. mainFrame.changeView(MainFrame.Views.AGENDA);
  127. }
  128. });
  129. viewMenu.add(tableView);
  130. tableView.addActionListener(new ActionListener() {
  131. @Override
  132. public void actionPerformed(ActionEvent e) {
  133. mainFrame.changeView(MainFrame.Views.TABLE);
  134. }
  135. });
  136. }
  137. }