public void stateChanged(ChangeEvent e) { Object obj = e.getSource(); if (obj instanceof BoundedRangeModel) { int id = AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED; int type = AdjustmentEvent.TRACK; BoundedRangeModel model = (BoundedRangeModel) obj; int value = model.getValue(); boolean isAdjusting = model.getValueIsAdjusting(); fireAdjustmentValueChanged(id, type, value, isAdjusting); } }
/** * Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual * constraints: * * <pre> * minimum <= value <= value+extent <= maximum * </pre> * * <p> * * @see BoundedRangeModel#setRangeProperties * @see #setValue * @see #setVisibleAmount * @see #setMinimum * @see #setMaximum */ public void setValues(int newValue, int newExtent, int newMin, int newMax) { BoundedRangeModel m = getModel(); int oldValue = m.getValue(); m.setRangeProperties(newValue, newExtent, newMin, newMax, m.getValueIsAdjusting()); if (accessibleContext != null) { accessibleContext.firePropertyChange( AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, Integer.valueOf(oldValue), Integer.valueOf(m.getValue())); } }
/** * Sets the scrollbar's value. This method just forwards the value to the model. * * @see #getValue * @see BoundedRangeModel#setValue * @beaninfo preferred: true description: The scrollbar's current value. */ public void setValue(int value) { BoundedRangeModel m = getModel(); int oldValue = m.getValue(); m.setValue(value); if (accessibleContext != null) { accessibleContext.firePropertyChange( AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, Integer.valueOf(oldValue), Integer.valueOf(m.getValue())); } }
/** * Sets the model's valueIsAdjusting property. Scrollbar look and feel implementations should set * this property to true when a knob drag begins, and to false when the drag ends. The scrollbar * model will not generate ChangeEvents while valueIsAdjusting is true. * * @see #getValueIsAdjusting * @see BoundedRangeModel#setValueIsAdjusting * @beaninfo expert: true description: True if the scrollbar thumb is being dragged. */ public void setValueIsAdjusting(boolean b) { BoundedRangeModel m = getModel(); boolean oldValue = m.getValueIsAdjusting(); m.setValueIsAdjusting(b); if ((oldValue != b) && (accessibleContext != null)) { accessibleContext.firePropertyChange( AccessibleContext.ACCESSIBLE_STATE_PROPERTY, ((oldValue) ? AccessibleState.BUSY : null), ((b) ? AccessibleState.BUSY : null)); } }
/** * This determines the amount of the progress bar that should be filled based on the percent done * gathered from the model. This is a common operation so it was abstracted out. It assumes that * your progress bar is linear. That is, if you are making a circular progress indicator, you will * want to override this method. */ protected int getAmountFull(Insets b, int width, int height) { int amountFull = 0; BoundedRangeModel model = progressBar.getModel(); if ((model.getMaximum() - model.getMinimum()) != 0) { if (progressBar.getOrientation() == JProgressBar.HORIZONTAL) { amountFull = (int) Math.round(width * progressBar.getPercentComplete()); } else { amountFull = (int) Math.round(height * progressBar.getPercentComplete()); } } return amountFull; }
// ChangeListener public void stateChanged(ChangeEvent e) { BoundedRangeModel model = progressBar.getModel(); int newRange = model.getMaximum() - model.getMinimum(); int newPercent; int oldPercent = getCachedPercent(); if (newRange > 0) { newPercent = (int) ((100 * (long) model.getValue()) / newRange); } else { newPercent = 0; } if (newPercent != oldPercent) { setCachedPercent(newPercent); progressBar.repaint(); } }
/** * Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, * value, extent. * * @see #getModel * @beaninfo bound: true expert: true description: The scrollbar's BoundedRangeModel. */ public void setModel(BoundedRangeModel newModel) { Integer oldValue = null; BoundedRangeModel oldModel = model; if (model != null) { model.removeChangeListener(fwdAdjustmentEvents); oldValue = Integer.valueOf(model.getValue()); } model = newModel; if (model != null) { model.addChangeListener(fwdAdjustmentEvents); } firePropertyChange("model", oldModel, model); if (accessibleContext != null) { accessibleContext.firePropertyChange( AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, oldValue, new Integer(model.getValue())); } }
/** * Sets the {@code BoundedRangeModel} that handles the slider's three fundamental properties: * minimum, maximum, value. * * <p>Attempts to pass a {@code null} model to this method result in undefined behavior, and, most * likely, exceptions. * * @param newModel the new, {@code non-null} <code>BoundedRangeModel</code> to use * @see #getModel * @see BoundedRangeModel * @beaninfo bound: true description: The sliders BoundedRangeModel. */ public void setModel(BoundedRangeModel newModel) { BoundedRangeModel oldModel = getModel(); if (oldModel != null) { oldModel.removeChangeListener(changeListener); } sliderModel = newModel; if (newModel != null) { newModel.addChangeListener(changeListener); } if (accessibleContext != null) { accessibleContext.firePropertyChange( AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, (oldModel == null ? null : Integer.valueOf(oldModel.getValue())), (newModel == null ? null : Integer.valueOf(newModel.getValue()))); } firePropertyChange("model", oldModel, sliderModel); }
/** * Get the maximum accessible value of this object. * * @return The maximum value of this object. */ public Number getMaximumAccessibleValue() { // TIGER - 4422362 BoundedRangeModel model = JSlider.this.getModel(); return Integer.valueOf(model.getMaximum() - model.getExtent()); }