java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.EnumControl
一个
EnumControl
提供对一组离散可能值的控制,每个值由一个对象表示。在图形用户界面中,这样的控件可能由一组按钮表示,每个按钮选择一个值或设置。例如,混响控件可能提供几个预设的混响设置,而不是提供由FloatControl
对象表示的可连续调整的参数。
只提供两个设置选择的控件通常可以改为实现为BooleanControl
,而提供一组沿某个可量化维度的值的控件可能改为实现为具有粗略分辨率的FloatControl
。然而,EnumControl
的一个关键特点是返回的值是任意对象,而不是数值或布尔值。这意味着每个返回的对象可以提供更多信息。例如,REVERB
控件的设置是可以查询每个设置使用的参数值的ReverbType
的实例。
- 自版本:
- 1.3
-
Nested Class Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
EnumControl
(EnumControl.Type type, Object[] values, Object value) 用给定的参数构造一个新的枚举控件对象。 -
Method Summary
-
Constructor Details
-
EnumControl
用给定的参数构造一个新的枚举控件对象。- 参数:
-
type
- 此枚举控件对象所代表的控件类型 -
values
- 控件的可能值集合 -
value
- 初始控件值
-
-
Method Details
-
setValue
设置控件的当前值。默认实现只是设置所指示的值。如果不支持所指示的值,则会抛出IllegalArgumentException
。有些控件要求它们的线路在受到设置值影响之前必须是打开状态。- 参数:
-
value
- 所需的新值 - 抛出:
-
IllegalArgumentException
- 如果所指示的值不在允许范围内
-
getValue
获取此控件的当前值。- 返回:
- 当前值
-
getValues
返回此控件的可能值集合。- 返回:
- 可能的值集合
-
toString
返回枚举控件的字符串表示。
-