public class BoundedRangeInputStream
extends java.io.FilterInputStream
implements javax.swing.BoundedRangeModel
Modifier and Type | Field and Description |
---|---|
protected javax.swing.event.ChangeEvent |
changeEvent
Only one ChangeEvent is needed per model instance since the
event's only (read-only) state is the source property.
|
protected javax.swing.event.EventListenerList |
listenerList
The listeners waiting for model changes.
|
Constructor and Description |
---|
BoundedRangeInputStream(java.io.InputStream in)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(javax.swing.event.ChangeListener l)
Adds a ChangeListener to the model's listener list.
|
protected void |
fireStateChanged()
Run each ChangeListeners stateChanged() method.
|
int |
getExtent()
Returns the model's extent, the length of the inner range that
begins at the model's value.
|
int |
getMaximum()
Returns the model's maximum.
|
int |
getMinimum()
Returns the minimum acceptable value.
|
int |
getValue()
Returns the current read position.
|
boolean |
getValueIsAdjusting()
Returns true if the current changes to the value property are part
of a series of changes.
|
int |
read()
Overrides
FilterInputStream.read
to update the value after the read. |
int |
read(byte[] b)
Overrides
FilterInputStream.read
to update the value after the read. |
int |
read(byte[] b,
int off,
int len)
Overrides
FilterInputStream.read
to update the value after the read. |
void |
removeChangeListener(javax.swing.event.ChangeListener l)
Removes a ChangeListener.
|
void |
reset()
Overrides
FilterInputStream.reset
to reset the progress monitor as well as the stream. |
void |
setExtent(int newExtent)
Ignored: The extent is always zero.
|
void |
setMaximum(int newMaximum)
Ignored: The maximum of an input stream can not be changed.
|
void |
setMinimum(int newMinimum)
Ignored: The minimum of an input stream is always zero.
|
void |
setRangeProperties(int value,
int extent,
int min,
int max,
boolean adjusting)
Ignored: All values depend on the input stream.
|
void |
setValue(int newValue)
Ignored: The value is always zero.
|
void |
setValueIsAdjusting(boolean b)
This attribute indicates that any upcoming changes to the value
of the model should be considered a single event.
|
long |
skip(long n)
Overrides
FilterInputStream.skip
to update the value after the skip. |
protected transient javax.swing.event.ChangeEvent changeEvent
protected javax.swing.event.EventListenerList listenerList
public BoundedRangeInputStream(java.io.InputStream in)
public int read() throws java.io.IOException
FilterInputStream.read
to update the value after the read.read
in class java.io.FilterInputStream
java.io.IOException
public int read(byte[] b) throws java.io.IOException
FilterInputStream.read
to update the value after the read.read
in class java.io.FilterInputStream
java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
FilterInputStream.read
to update the value after the read.read
in class java.io.FilterInputStream
java.io.IOException
public long skip(long n) throws java.io.IOException
FilterInputStream.skip
to update the value after the skip.skip
in class java.io.FilterInputStream
java.io.IOException
public void reset() throws java.io.IOException
FilterInputStream.reset
to reset the progress monitor as well as the stream.reset
in class java.io.FilterInputStream
java.io.IOException
public int getMinimum()
getMinimum
in interface javax.swing.BoundedRangeModel
setMinimum(int)
public void setMinimum(int newMinimum)
minimum <= value <= value+extent <= maximum
Notifies any listeners if the model changes.
setMinimum
in interface javax.swing.BoundedRangeModel
newMinimum
- the model's new minimumgetMinimum()
,
addChangeListener(javax.swing.event.ChangeListener)
public int getMaximum()
getMaximum
in interface javax.swing.BoundedRangeModel
setMaximum(int)
,
setExtent(int)
public void setMaximum(int newMaximum)
minimum <= value <= value+extent <= maximum
Notifies any listeners if the model changes.
setMaximum
in interface javax.swing.BoundedRangeModel
newMaximum
- the model's new maximumgetMaximum()
,
addChangeListener(javax.swing.event.ChangeListener)
public int getValue()
maximum - extent
and the lower limit is minimum
.getValue
in interface javax.swing.BoundedRangeModel
setValue(int)
public void setValue(int newValue)
newValue
if newValue
satisfies the model's constraints. Those constraints are:
minimum <= value <= value+extent <= maximumOtherwise, if
newValue
is less than minimum
it's set to minimum
, if its greater than
maximum
then it's set to maximum
, and
if it's greater than value+extent
then it's set to
value+extent
.
When a BoundedRange model is used with a scrollbar the value specifies the origin of the scrollbar knob (aka the "thumb" or "elevator"). The value usually represents the origin of the visible part of the object being scrolled.
Notifies any listeners if the model changes.
setValue
in interface javax.swing.BoundedRangeModel
newValue
- the model's new valuegetValue()
public void setValueIsAdjusting(boolean b)
Sliders and scrollbars use this property when a drag is underway.
setValueIsAdjusting
in interface javax.swing.BoundedRangeModel
b
- true if the upcoming changes to the value property are part of a seriespublic boolean getValueIsAdjusting()
getValueIsAdjusting
in interface javax.swing.BoundedRangeModel
setValueIsAdjusting(boolean)
public int getExtent()
getExtent
in interface javax.swing.BoundedRangeModel
setExtent(int)
,
setValue(int)
public void setExtent(int newExtent)
setExtent
in interface javax.swing.BoundedRangeModel
public void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
setRangeProperties
in interface javax.swing.BoundedRangeModel
public void addChangeListener(javax.swing.event.ChangeListener l)
addChangeListener
in interface javax.swing.BoundedRangeModel
l
- the ChangeListener to addremoveChangeListener(javax.swing.event.ChangeListener)
public void removeChangeListener(javax.swing.event.ChangeListener l)
removeChangeListener
in interface javax.swing.BoundedRangeModel
l
- the ChangeListener to removeaddChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener)
protected void fireStateChanged()
setRangeProperties(int, int, int, int, boolean)
,
EventListenerList