Forráskód Böngészése

slider appears on screen. it does not do anything, and always jumps to the end when the user does anything in the app

tsdedhar 6 éve
szülő
commit
c61cc21c01

BIN
assignments/a2/.gradle/4.7/fileHashes/fileHashes.bin


BIN
assignments/a2/.gradle/4.7/fileHashes/fileHashes.lock


BIN
assignments/a2/.gradle/4.7/taskHistory/taskHistory.bin


BIN
assignments/a2/.gradle/4.7/taskHistory/taskHistory.lock


BIN
assignments/a2/.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
assignments/a2/build/classes/java/main/Controls.class


BIN
assignments/a2/build/classes/java/main/Model.class


BIN
assignments/a2/build/classes/java/main/Thingy.class


BIN
assignments/a2/build/classes/java/main/playbackSlider.class


BIN
assignments/a2/build/libs/a2-1.0-SNAPSHOT.jar


+ 14 - 13
assignments/a2/src/main/java/Controls.java

@@ -2,6 +2,7 @@ import java.io.*;
 import java.util.*;
 import java.awt.*;
 import javax.swing.*;
+import javax.swing.event.*;
 
 public class Controls extends JPanel implements Observer
 {
@@ -16,15 +17,18 @@ public class Controls extends JPanel implements Observer
     this.model = model;
     this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
     this.setPreferredSize(new Dimension(1280,75));
-		this.setMinimumSize(new Dimension(320, 75));
-		this.playback = new JSlider(1, model.getThingies().size(), model.getThingies().size());
-    this.playback.addChangeListener(new ChangeListener()
-    {
-      public void stateChanged(ChangeEvent e)
-      {
-        model.changeThingy(playback.getValue() - 1);
-      }
-    });
+    this.setMinimumSize(new Dimension(320, 75));
+    this.playback = new JSlider(1, 10, 10);
+//    this.playback.addChangeListener(new ChangeListener()
+//    {
+//      public void stateChanged(ChangeEvent e)
+//      {
+//        if (playback.getValue() != model.getThingies().size())
+//	{
+//          model.changeThingy(playback.getValue() - 1);
+//	}
+//      }
+//    });
     this.playback.setPreferredSize(new Dimension(280, 75));
     this.add(playback);
     model.addObserver(this);
@@ -33,13 +37,10 @@ public class Controls extends JPanel implements Observer
   public void update(Object observable)
   {
     this.playback.setMaximum(model.getThingies().size());
+    this.playback.setValue(model.getThingies().size());
     this.setBackground(model.controlColour);
     revalidate();
     repaint();
   }
 }
 
-class playbackSlider extends JSlider
-{
-  
-}

+ 4 - 1
assignments/a2/src/main/java/Model.java

@@ -49,7 +49,10 @@ public class Model extends Observable
   public void changeThingy(int x)
   {
     curThingy = thingies.get(x);
-    thingies.trimToSize(x - 1);
+    for (int i = (x + 1); i < thingies.size(); i++)
+    {
+      thingies.remove(i);
+    }
     setChanged();
     notifyObservers();
   }