|
@@ -18,14 +18,14 @@ public class Controls extends JPanel implements Observer
|
|
|
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
|
|
this.setPreferredSize(new Dimension(1280,75));
|
|
|
this.setMinimumSize(new Dimension(320, 75));
|
|
|
- this.playback = new JSlider(0, 0, 0);
|
|
|
+ this.playback = new playSlider(0, 0, 0);
|
|
|
playback.addChangeListener(new ChangeListener()
|
|
|
{
|
|
|
public void stateChanged(ChangeEvent e)
|
|
|
{
|
|
|
- if (!playback.getValueIsAdjusting() && playback.getValue() != model.getThingies().size())
|
|
|
+ if (!playback.settingLen() && playback.getValue() != model.getThingies().size())
|
|
|
{
|
|
|
- //if (playback.getValue() >= 1) model.changeThingy(playback.getValue() - 1);
|
|
|
+ if (playback.getValue() >= 1) model.changeThingy(playback.getValue() - 1);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -39,7 +39,9 @@ public class Controls extends JPanel implements Observer
|
|
|
int len = model.getThingies().size();
|
|
|
if (len > 0)
|
|
|
{
|
|
|
+ playback.toggleSettingLen();
|
|
|
playback.setMaximum(len);
|
|
|
+ playback.toggleSettingLen();
|
|
|
playback.setValue(len);
|
|
|
}
|
|
|
this.setBackground(model.controlColour);
|
|
@@ -48,3 +50,18 @@ public class Controls extends JPanel implements Observer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+class playSlider extends JSlider
|
|
|
+{
|
|
|
+ private bool settingLen;
|
|
|
+
|
|
|
+ public playSlider(int min, int max, int val)
|
|
|
+ {
|
|
|
+ super(min, max, val);
|
|
|
+ this.settingLen = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void toggleSettingLen()
|
|
|
+ {
|
|
|
+ this.settingLen = !settingLen;
|
|
|
+ }
|
|
|
+}
|