Controls.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import java.io.*;
  2. import java.util.*;
  3. import java.awt.*;
  4. import javax.swing.*;
  5. import javax.swing.event.*;
  6. public class Controls extends JPanel implements Observer
  7. {
  8. private Model model;
  9. private JSlider playback;
  10. // Bob the Builder this shit
  11. public Controls(Model model, Handler handler)
  12. {
  13. // Hook up this observer so that it will be notified when the model
  14. // changes.
  15. this.model = model;
  16. this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
  17. this.setPreferredSize(new Dimension(1280,75));
  18. this.setMinimumSize(new Dimension(320, 75));
  19. this.playback = new JSlider(1, 10, 10);
  20. // this.playback.addChangeListener(new ChangeListener()
  21. // {
  22. // public void stateChanged(ChangeEvent e)
  23. // {
  24. // if (playback.getValue() != model.getThingies().size())
  25. // {
  26. // model.changeThingy(playback.getValue() - 1);
  27. // }
  28. // }
  29. // });
  30. this.playback.setPreferredSize(new Dimension(280, 75));
  31. this.add(playback);
  32. model.addObserver(this);
  33. }
  34. public void update(Object observable)
  35. {
  36. this.playback.setMaximum(model.getThingies().size());
  37. this.playback.setValue(model.getThingies().size());
  38. this.setBackground(model.controlColour);
  39. revalidate();
  40. repaint();
  41. }
  42. }