public SpeedSliderPanel(GUIWorkspace workspace, boolean labelsBelow) { this.workspace = workspace; this.labelsBelow = labelsBelow; speedSlider = new SpeedSlider((int) workspace.speedSliderPosition()); speedSlider.setFocusable(false); speedSlider.addChangeListener(this); speedSlider.addMouseListener(this); speedSlider.setOpaque(false); org.nlogo.awt.Fonts.adjustDefaultFont(normal); setOpaque(false); if (labelsBelow) { GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); setLayout(gridbag); c.gridwidth = GridBagConstraints.REMAINDER; add(speedSlider, c); c.gridwidth = 1; c.anchor = GridBagConstraints.CENTER; add(normal, c); } else { java.awt.BorderLayout layout = new java.awt.BorderLayout(); layout.setVgap(0); setLayout(layout); add(speedSlider, java.awt.BorderLayout.CENTER); add(normal, java.awt.BorderLayout.EAST); } enableLabels(0); }
public void stateChanged(javax.swing.event.ChangeEvent e) { int value = speedSlider.getValue(); // adjust the speed reported to the workspace // so there isn't a big gap between the snap area // and outside the snap area. ev 2/22/07 if (value < -10) { value += 10; } else if (value > 10) { value -= 10; } else { value = 0; } workspace.speedSliderPosition(value / 2); if (org.nlogo.api.Version.isLoggingEnabled()) { org.nlogo.log.Logger.logSpeedSlider(value); } enableLabels(value); workspace.updateManager().nudgeSleeper(); }
public void setValue(int speed) { if (speedSlider.getValue() != speed) { speedSlider.setValue(speed); } enableLabels((int) workspace.speedSliderPosition()); }