Browse Source

Merge branch 'Ohne_Drag_and_Drop' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons into Ohne_Drag_and_Drop

Edgardo Palza 8 years ago
parent
commit
c8218f6a1b

BIN
res/Button_Images/backward.png


BIN
res/Button_Images/forward.png


BIN
res/Button_Images/pause.png


BIN
res/Button_Images/play.png


BIN
res/Button_Images/reset.png


BIN
res/Button_Images/stop.png


+ 0 - 5
src/ui/view/GUI.java

@@ -9,8 +9,6 @@ import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.JTree;
-import javax.swing.border.LineBorder;
-import javax.swing.BorderFactory;
 import javax.swing.BoxLayout;
 import javax.swing.JSplitPane;
 import javax.swing.JScrollPane;
@@ -19,8 +17,6 @@ import javax.swing.JTable;
 import javax.swing.tree.DefaultTreeModel;
 import javax.swing.tree.TreeCellRenderer;
 
-import com.sun.javafx.TempState;
-import com.sun.xml.internal.bind.v2.TODO;
 
 import ui.controller.Control;
 import ui.model.*;
@@ -63,7 +59,6 @@ import java.awt.event.ActionEvent;
 import javax.swing.JSlider;
 import javax.swing.event.ChangeListener;
 import javax.swing.event.ChangeEvent;
-import java.awt.FlowLayout;
 
 public class GUI implements CategoryListener {
 

+ 45 - 5
src/ui/view/TimePanel.java

@@ -11,6 +11,7 @@ import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JPanel;
 import javax.swing.JSlider;
+import javax.swing.Timer;
 import javax.swing.border.LineBorder;
 
 import ui.controller.Control;
@@ -22,22 +23,39 @@ public class TimePanel extends JPanel {
 	private Control controller;
 
 	JSlider timeSlider = new JSlider();
-	private final JPanel timePanel = new JPanel();
 	private final JPanel timeBtnPanel = new JPanel();
 	private final JButton playBtn = new JButton();
 	private final JButton timeResetBtn = new JButton();
 	private final JButton timeForwardBtn = new JButton();
 	private final JButton timeBackwardBtn = new JButton();
+	private Timer timer;
+	private boolean running = false;
 
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
 
-	public TimePanel(Model model, Control controller) {
+	public TimePanel(Model mod, Control cont) {
 		super();
-		this.model = model;
-		//// Time Slider. Panels and Buttons
+		this.model = mod;
+		this.controller = cont;
+
+		// One Iteration
+		timer = new Timer(1000, new ActionListener() {
+			@Override
+			public void actionPerformed(ActionEvent ae) {
+				timeSlider.setValue(timeSlider.getValue() + 1);
+				if (timeSlider.getValue() == model.getIterations()) {
+					running = false;
+					playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/play.png"))
+							.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
+					timer.stop();
+				}
+			}
+		});
+
+		// Time Slider. Panels and Buttons
 		this.setLayout(new BorderLayout(0, 0));
 
 		// Slider
@@ -49,14 +67,34 @@ public class TimePanel extends JPanel {
 		timeSlider.setMaximum(model.getIterations());
 		timeSlider.setValue(1);
 		timeSlider.setBackground(Color.WHITE);
+		timeBtnPanel.setBackground(Color.WHITE);
 
 		// Buttons
 		timeBtnPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
 
+		playBtn.setBackground(Color.WHITE);
+		playBtn.setBorderPainted(false);
 		playBtn.setBorder(new LineBorder(Color.WHITE, 4));
 		playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/play.png")).getImage()
 				.getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
+		playBtn.addActionListener(new ActionListener() {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				running = !running;
+				if (running) {
+					timer.start();
+					playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/pause.png"))
+							.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
+				} else {
+					timer.stop();
+					playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/play.png"))
+							.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
+				}
+			}
+		});
 
+		timeResetBtn.setBorderPainted(false);
+		timeResetBtn.setBackground(Color.WHITE);
 		timeResetBtn.setBorder(new LineBorder(Color.WHITE, 4));
 		timeResetBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/reset.png"))
 				.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
@@ -66,6 +104,7 @@ public class TimePanel extends JPanel {
 			}
 		});
 
+		timeForwardBtn.setBorderPainted(false);
 		timeForwardBtn.setContentAreaFilled(false);
 		timeForwardBtn.setBorder(new LineBorder(Color.WHITE, 4));
 		timeForwardBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/forward.png"))
@@ -76,6 +115,8 @@ public class TimePanel extends JPanel {
 			}
 		});
 
+		timeBackwardBtn.setBackground(Color.WHITE);
+		timeBackwardBtn.setBorderPainted(false);
 		timeBackwardBtn.setBorder(new LineBorder(Color.WHITE, 4));
 		timeBackwardBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/backward.png"))
 				.getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
@@ -93,5 +134,4 @@ public class TimePanel extends JPanel {
 		this.add(timeBtnPanel, BorderLayout.WEST);
 		this.add(timeSlider);
 	}
-
 }