Class EnumControl
java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.EnumControl
An
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.
- Since:
- 1.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn instance of theEnumControl.Typeinner class identifies one kind of enumerated control. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEnumControl(EnumControl.Type type, Object[] values, Object value) Constructs a new enumerated control object with the given parameters. -
Method Summary
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
EnumControl
Constructs a new enumerated control object with the given parameters.- Parameters:
type- the type of control represented this enumerated control objectvalues- the set of possible values for the controlvalue- the initial control value
-
-
Method Details
-
setValue
Sets the current value for the control. The default implementation simply sets the value as indicated. If the value indicated is not supported, anIllegalArgumentExceptionis thrown. Some controls require that their line be open before they can be affected by setting a value.- Parameters:
value- the desired new value- Throws:
IllegalArgumentException- if the value indicated does not fall within the allowable range
-
getValue
-
getValues
Returns the set of possible values for this control.- Returns:
- the set of possible values
-
toString
-