Bläddra i källkod

View changing is possible now.

Gilian Joosen 10 år sedan
förälder
incheckning
443375896f
2 ändrade filer med 71 tillägg och 8 borttagningar
  1. 29 3
      src/gui/frames/MainFrame.java
  2. 42 5
      src/gui/menubar/MenuBar.java

+ 29 - 3
src/gui/frames/MainFrame.java

@@ -3,23 +3,49 @@ package gui.frames;
 import gui.menubar.MenuBar;
 import gui.panels.MainPanel;
 
-import javax.swing.JFrame;
+import javax.swing.*;
 
 import agenda.Agenda;
+import gui.panels.agenda.AgendaPane;
+import gui.panels.edit.EditPane;
 
 @SuppressWarnings("serial")
 public class MainFrame extends JFrame{
 	
+    public enum Views{EDITOR, SIMULATOR, AGENDA};
+    
     private Agenda agenda;
+    private JPanel currentPanel;
     
     public MainFrame(){
         this.agenda = new Agenda();
-        this.add(new MainPanel(this.agenda));
+        this.currentPanel = new MainPanel(this.agenda);
+        this.add(this.currentPanel);
 		this.setResizable(true);
 		this.setBounds(100,100,1440,900);
 		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 		this.setUndecorated(false);
-		this.setJMenuBar(new MenuBar());
+		this.setJMenuBar(new MenuBar(this));
 		this.setVisible(true);
 	}
+    
+    public void changeView(Views view){
+        switch(view){
+            case EDITOR:
+                this.updateView(new EditPane(this.agenda));
+                break;
+            case AGENDA:
+                this.updateView(new AgendaPane(this.agenda));
+                break;
+            case SIMULATOR:
+                //komt later nog.
+                break;
+        }
+    }
+    
+    private void updateView(JPanel panel){
+        this.currentPanel = panel;
+        this.setContentPane(this.currentPanel);
+        this.revalidate();
+    }
 }

+ 42 - 5
src/gui/menubar/MenuBar.java

@@ -1,19 +1,21 @@
 package gui.menubar;
 
+import gui.frames.MainFrame;
+
 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;
 
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.KeyStroke;
+import javax.swing.*;
 
 @SuppressWarnings("serial")
 public class MenuBar extends JMenuBar{
 
-	public MenuBar(){
+    private MainFrame mainFrame;
+    
+	public MenuBar(MainFrame frame){
+        this.mainFrame = frame;
 		initialize();
 	}
 	
@@ -35,6 +37,11 @@ public class MenuBar extends JMenuBar{
         JMenuItem copyAction = new JMenuItem("Copy");
         JMenuItem pasteAction = new JMenuItem("Paste");
         
+        //view 
+        JMenuItem editorView = new JMenuItem("editor");
+        JMenuItem agendaView = new JMenuItem("agenda");
+        JMenuItem simulatorView = new JMenuItem("simulator");
+        
         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));
@@ -79,6 +86,36 @@ public class MenuBar extends JMenuBar{
                 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");
+                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);
+
+            }
+        });
 	}
 	
 }