浏览代码

Slider und Play Button

Kevin Trometer 8 年之前
父节点
当前提交
98e9a2fad5
共有 2 个文件被更改,包括 36 次插入8 次删除
  1. 二进制
      res/Images/Thumbs.db
  2. 36 8
      src/ui/view/GUI.java

二进制
res/Images/Thumbs.db


+ 36 - 8
src/ui/view/GUI.java

@@ -3,6 +3,8 @@ package ui.view;
 import java.io.File;
 import java.text.AttributedCharacterIterator;
 import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JMenuBar;
@@ -10,6 +12,7 @@ import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.JTree;
+import javax.swing.BorderFactory;
 import javax.swing.BoxLayout;
 import javax.swing.JSplitPane;
 import javax.swing.JScrollPane;
@@ -62,6 +65,7 @@ import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.awt.image.ImageObserver;
+import java.awt.peer.MouseInfoPeer;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.awt.event.ActionEvent;
@@ -92,8 +96,6 @@ public class GUI implements CategoryListener {
 
 	private final JTree tree = new JTree();
 	private final JEditorPane dtrpnHereWillBe = new JEditorPane();
-	private final JSplitPane splitPane_2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
-
 	/******************************************
 	 ************* Right Container*************
 	 ******************************************/
@@ -149,8 +151,11 @@ public class GUI implements CategoryListener {
 	private MyCanvas canvas;
 	private UnitGraph testgraph; // for testing, remove later
 	private final JSplitPane splitPane_3 = new JSplitPane();
-	private final JSlider slider = new JSlider();
+	private final JSlider sizeSlider = new JSlider();
 	private final JLabel lblImageSize = new JLabel("Image Size");
+	private final JSlider timeSlider = new JSlider();
+	private final JPanel timePanel = new JPanel();
+	private final JButton playBtn = new JButton();
 
 	/**
 	 * Create the application.
@@ -194,18 +199,18 @@ public class GUI implements CategoryListener {
 
 		mnNewMenu_3.add(splitPane_3);
 
-		slider.setMinimum(15);
-		slider.setMaximum(115);
-		slider.addChangeListener(new ChangeListener() {
+		sizeSlider.setMinimum(15);
+		sizeSlider.setMaximum(115);
+		sizeSlider.addChangeListener(new ChangeListener() {
 			@Override
 			public void stateChanged(ChangeEvent e) {
-				controller.setScale(slider.getValue());
+				controller.setScale(sizeSlider.getValue());
 				tree.setRowHeight(model.getScale());
 				canvas.objectSelectionHighlighting();
 				canvas.repaint();
 			}
 		});
-		splitPane_3.setRightComponent(slider);
+		splitPane_3.setRightComponent(sizeSlider);
 
 		splitPane_3.setLeftComponent(lblImageSize);
 
@@ -600,6 +605,29 @@ public class GUI implements CategoryListener {
 		split_Graph_HolonEl.setTopComponent(scrollGraph);
 		split_Graph_HolonEl.setBottomComponent(scrollElements);
 
+		timePanel.setLayout(new BorderLayout(0, 0));
+		timeSlider.setPaintTicks(true);
+		timeSlider.setPaintLabels(true);
+		timeSlider.setMinorTickSpacing(1);
+		timeSlider.setToolTipText("");
+
+		timeSlider.setMinimum(1);
+		timeSlider.setMaximum(50);
+		timeSlider.setValue(1);
+
+		playBtn.setBorder(BorderFactory.createEmptyBorder());
+		playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Images/node.png")).getImage()
+				.getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
+		playBtn.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent ae) {				
+			    timeSlider.setValue(timeSlider.getValue() + 1);		
+			}
+		});
+
+		timePanel.add(playBtn, BorderLayout.WEST);
+		timePanel.add(timeSlider);
+
+		frmCyberPhysical.getContentPane().add(timePanel, BorderLayout.SOUTH);
 	}
 
 	/*