public abstract class FloatControl extends Control
FloatControl object provides control over a range of floating-point values. Float controls are often represented in graphical user interfaces by continuously adjustable objects such as sliders or rotary knobs. Concrete subclasses of
FloatControl implement controls, such as gain and pan, that affect a line's audio signal in some way that an application can manipulate. The
FloatControl.Type inner class provides static instances of types that are used to identify some common kinds of float control.
The FloatControl abstract class provides methods to set and get the control's current floating-point value. Other methods obtain the possible range of values and the control's resolution (the smallest increment between returned values). Some float controls allow ramping to a new value over a specified period of time. FloatControl also includes methods that return string labels for the minimum, maximum, and midpoint positions of the control.
Line.getControls() ,
Line.isControlSupported(javax.sound.sampled.Control.Type)
| Modifier and Type | Class and Description |
|---|---|
static class |
FloatControl
An instance of the
FloatControl.Type inner class identifies one kind of float control.
|
| Modifier | Constructor and Description |
|---|---|
protected |
FloatControl(FloatControl
Constructs a new float control object with the given parameters.
|
protected |
FloatControl(FloatControl
Constructs a new float control object with the given parameters
|
| Modifier and Type | Method and Description |
|---|---|
float |
getMaximum()
Obtains the maximum value permitted.
|
String |
getMaxLabel()
Obtains the label for the maximum value, such as "Right" or "Full."
|
String |
getMidLabel()
Obtains the label for the mid-point value, such as "Center" or "Default."
|
float |
getMinimum()
Obtains the minimum value permitted.
|
String |
getMinLabel()
Obtains the label for the minimum value, such as "Left" or "Off."
|
float |
getPrecision()
Obtains the resolution or granularity of the control, in the units that the control measures.
|
String |
getUnits()
Obtains the label for the units in which the control's values are expressed, such as "dB" or "frames per second."
|
int |
getUpdatePeriod()
Obtains the smallest time interval, in microseconds, over which the control's value can change during a shift.
|
float |
getValue()
Obtains this control's current value.
|
void |
setValue(float newValue)
Sets the current value for the control.
|
void |
shift(float from, float to, int microseconds)
Changes the control value from the initial value to the final value linearly over the specified time period, specified in microseconds.
|
String |
toString()
Provides a string representation of the control
|
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
type - the kind of control represented by this float control object
minimum - the smallest value permitted for the control
maximum - the largest value permitted for the control
precision - the resolution or granularity of the control. This is the size of the increment between discrete valid values.
updatePeriod - the smallest time interval, in microseconds, over which the control can change from one discrete value to the next during a
shift
initialValue - the value that the control starts with when constructed
units - the label for the units in which the control's values are expressed, such as "dB" or "frames per second"
minLabel - the label for the minimum value, such as "Left" or "Off"
midLabel - the label for the midpoint value, such as "Center" or "Default"
maxLabel - the label for the maximum value, such as "Right" or "Full"
IllegalArgumentException - if
minimum is greater than
maximum or
initialValue does not fall within the allowable range
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
type - the kind of control represented by this float control object
minimum - the smallest value permitted for the control
maximum - the largest value permitted for the control
precision - the resolution or granularity of the control. This is the size of the increment between discrete valid values.
updatePeriod - the smallest time interval, in microseconds, over which the control can change from one discrete value to the next during a
shift
initialValue - the value that the control starts with when constructed
units - the label for the units in which the control's values are expressed, such as "dB" or "frames per second"
IllegalArgumentException - if
minimum is greater than
maximum or
initialValue does not fall within the allowable range
public void setValue(float newValue)
newValue - desired new value
IllegalArgumentException - if the value indicated does not fall within the allowable range
public float getValue()
public float getMaximum()
public float getMinimum()
public StringgetUnits()
public StringgetMinLabel()
public StringgetMidLabel()
public StringgetMaxLabel()
public float getPrecision()
public int getUpdatePeriod()
shift(float, float, int)
public void shift(float from,
float to,
int microseconds)
from - initial value at the beginning of the shift
to - final value after the shift
microseconds - maximum duration of the shift in microseconds
IllegalArgumentException - if either
from or
to value does not fall within the allowable range
getUpdatePeriod()