| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- package gui.menubar;
- import gui.frames.MainFrame;
- import gui.simulator.DrawEngine;
- import gui.simulator.SimIo;
- import gui.simulator.SimulatorDialogPane;
- import gui.simulator.SimulatorPane;
- import gui.simulator.Terrain;
- import gui.simulator.WalkingPathArrayList;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.KeyStroke;
- import agenda.Agenda;
- import agenda.Database;
- import agenda.Io;
- @SuppressWarnings("serial")
- public class MenuBar extends JMenuBar{
- private MainFrame mainFrame;
- private Agenda agenda;
- private JPanel simPanel;
- private Terrain terrain;
- //add agenda because Database needs it to acces all inserted acts
- public MenuBar(MainFrame frame, Agenda agenda){
- this.mainFrame = frame;
- this.agenda = agenda;
- initialize();
- }
- private void initialize(){
- setLayout(new FlowLayout(80));
- JMenu fileMenu = new JMenu("File");
- JMenu editMenu = new JMenu("Edit");
- JMenu viewMenu = new JMenu("View");
- JMenu helpMenu = new JMenu("Help");
- this.add(fileMenu);
- this.add(editMenu);
- this.add(viewMenu);
- this.add(helpMenu);
- JMenuItem newAction = new JMenuItem("New");
- JMenuItem openAction = new JMenuItem("Open");
- JMenuItem exitAction = new JMenuItem("Exit");
- JMenuItem cutAction = new JMenuItem("Cut");
- JMenuItem copyAction = new JMenuItem("Copy");
- JMenuItem pasteAction = new JMenuItem("Paste");
- JMenuItem saveAction = new JMenuItem("Save");
- JMenuItem helpAction = new JMenuItem("Help");
- JMenuItem uploadAction = new JMenuItem("Upload agenda to DB");
- JMenuItem openSim = new JMenuItem("Open simulator");
- JMenuItem saveSim = new JMenuItem("Save simulator");
- //view
- JMenuItem editorView = new JMenuItem("Editor");
- JMenuItem agendaView = new JMenuItem("Agenda");
- JMenuItem simulatorView = new JMenuItem("Simulator");
- JMenuItem tableView = new JMenuItem("Table");
- newAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
- openAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
- exitAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
- cutAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
- copyAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
- pasteAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
- saveAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
- uploadAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,ActionEvent.CTRL_MASK));
- fileMenu.add(newAction);
- newAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.out.println("You have clicked on the new action");
- new MainFrame();
- }
- });
- fileMenu.add(openAction);
- openAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- try {
- Agenda agenda= Io.readIo();
- if(agenda != null){
- mainFrame.setAgenda(agenda);
- System.out.println("read");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
- fileMenu.add(saveAction);
- saveAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- try {
- Io.writeIo(mainFrame.getAgenda());
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- });
- fileMenu.add(uploadAction);
- uploadAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- Database database = new Database(agenda);
- try {
- database.writeDatabase();
- System.out.println("Act data send to database");
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println("Database error");
- }
- System.out.println("You have clicked on the database action");
- }
- });
- fileMenu.addSeparator();
- fileMenu.add(openSim);
- openSim.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- try {
- // simPanel = mainFrame.getSimulatorpanel();
- // System.out.println("Simpanel " + simPanel);
- // terrain = ((SimulatorPane) simPanel).getTerrain();
- // System.out.println(terrain);
- List <Object> list = new ArrayList<Object>();
- list = (List<Object>) SimIo.readIo();
- System.out.println(list);
- if(list != null){
- mainFrame.setLength((int)list.get(0));
- mainFrame.setTerainWidth((int)list.get(1));
- mainFrame.setTerrain((SimulatorPane.Terrains)list.get(2));
- simPanel = new SimulatorPane(mainFrame.getAgenda(), mainFrame.getLength(), mainFrame.getTerainWidth(), mainFrame.getTerrain());
-
- terrain = ((SimulatorPane) simPanel).getTerrain();
- terrain.setEntities((List<DrawEngine>)list.get(3));
- System.out.println(list.get(3));
- terrain.setPaths((WalkingPathArrayList)list.get(4));
- ((SimulatorPane) simPanel).setTerrain(terrain);
-
- mainFrame.setSimulatorpanel(simPanel);
- System.out.println("read simulator");
- }
- } catch (IOException ee) {
- ee.printStackTrace();
- }
- }
- });
- fileMenu.add(saveSim);
- saveSim.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- try {
- //TODO simPanel value is null.
- simPanel = mainFrame.getSimulatorpanel();
- terrain = ((SimulatorPane) simPanel).getTerrain();
- if(simPanel != null){
- List<Object> objectlist = new ArrayList<Object>();
- objectlist.add(mainFrame.getLength());
- objectlist.add(mainFrame.getTerainWidth());
- objectlist.add(mainFrame.getTerrain());
- objectlist.add(terrain.getEntities());
- objectlist.add(terrain.getPaths());
- SimIo.writeIo(objectlist);
- }
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- });
- fileMenu.addSeparator();
- fileMenu.add(exitAction);
- exitAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.exit(0);
- }
- });
- editMenu.add(cutAction);
- cutAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.out.println("You have clicked on the cut action");
- }
- });
- editMenu.add(copyAction);
- copyAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.out.println("You have clicked on the copy action");
- }
- });
- editMenu.add(pasteAction);
- pasteAction.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.out.println("You have clicked on the paste action");
- }
- });
- //view
- viewMenu.add(editorView);
- editorView.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("Editor View");
- mainFrame.changeView(MainFrame.Views.EDITOR);
- }
- });
- viewMenu.add(simulatorView);
- simulatorView.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("Simulator View");
- if(mainFrame.getLength() == 100000 ||
- mainFrame.getWidth() == 100000 ||
- mainFrame.getTerrain() == SimulatorPane.Terrains.UNDEFINED){
- new SimulatorDialogPane(mainFrame);
- } else {
- mainFrame.changeView(MainFrame.Views.SIMULATOR);
- }
- }
- });
- viewMenu.add(agendaView);
- agendaView.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("Agenda View");
- mainFrame.changeView(MainFrame.Views.AGENDA);
- }
- });
- viewMenu.add(tableView);
- tableView.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- mainFrame.changeView(MainFrame.Views.TABLE);
- }
- });
- helpMenu.add(helpAction);
- helpAction.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- JOptionPane.showMessageDialog(mainFrame,"Deze applicatie is gemaakt door: "
- + "\nJanco, Gillian, Tim, Davey en Jeroen"
- + "\n\nIn opdracht voor: "
- + "\n Ti Avans Breda"
- );
- }
- });
- }
- }
|