javax.sound.sampled
abstract public class: EnumControl [javadoc |
source]
java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.EnumControl
A
EnumControl
provides control over a set of
discrete possible values, each represented by an object. In a
graphical user interface, such a control might be represented
by a set of buttons, each of which chooses one value or setting. For
example, a reverb control might provide several preset reverberation
settings, instead of providing continuously adjustable parameters
of the sort that would be represented by
FloatControl
objects.
Controls that provide a choice between only two settings can often be implemented
instead as a BooleanControl
, and controls that provide
a set of values along some quantifiable dimension might be implemented
instead as a FloatControl
with a coarse resolution.
However, a key feature of EnumControl
is that the returned values
are arbitrary objects, rather than numerical or boolean values. This means that each
returned object can provide further information. As an example, the settings
of a REVERB
control are instances of
ReverbType
that can be queried for the parameter values
used for each setting.
- author:
Kara
- Kytle
- since:
1.3
-
Nested Class Summary: |
---|
public static class | EnumControl.Type | An instance of the EnumControl.Type inner class identifies one kind of
enumerated control. Static instances are provided for the
common types. |
Constructor: |
protected EnumControl(Type type,
Object[] values,
Object value) {
super(type);
this.values = values;
this.value = value;
}
Constructs a new enumerated control object with the given parameters. Parameters:
type - the type of control represented this enumerated control object
values - the set of possible values for the control
value - the initial control value
|
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.sound.sampled.EnumControl Detail: |
public Object getValue() {
return value;
}
Obtains this control's current value. |
public Object[] getValues() {
Object[] localArray = new Object[values.length];
for (int i = 0; i < values.length; i++) {
localArray[i] = values[i];
}
return localArray;
}
Returns the set of possible values for this control. |
public void setValue(Object value) {
if (!isValueSupported(value)) {
throw new IllegalArgumentException("Requested value " + value + " is not supported.");
}
this.value = value;
}
Sets the current value for the control. The default implementation
simply sets the value as indicated. If the value indicated is not
supported, an IllegalArgumentException is thrown.
Some controls require that their line be open before they can be affected
by setting a value. |
public String toString() {
return new String(getType() + " with current value: " + getValue());
}
Provides a string representation of the control. |