- java.lang.Object
-
- javax.sound.sampled.Control
-
- javax.sound.sampled.EnumControl
-
public abstract class EnumControl extends Control
一个EnumControl
提供对一组离散的可能值的控制,每个值由对象表示。 在图形用户界面中,这样的控件可以由一组按钮来表示,每个按钮选择一个值或设置。 例如,混响控制可以提供若干预设的混响设置,而不是提供由FloatControl
对象表示的类型的连续可调参数。通常只能通过
BooleanControl
来实现仅在两个设置之间进行选择的控件 ,而通过一些可量化维度提供一组值的控件可能会被替代为具有粗分辨率的FloatControl
。 但是,EnumControl
一个关键特征是返回的值是任意对象,而不是数值或布尔值。 这意味着每个返回的对象都可以提供更多的信息。 作为一个例子,一个的设置REVERB
控制是实例ReverbType
可以查询对用于每个设置的参数值。- 从以下版本开始:
- 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
EnumControl.Type
EnumControl.Type
内部类的实例标识一种枚举控件。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
EnumControl(EnumControl.Type type, Object[] values, Object value)
使用给定的参数构造一个新的枚举控制对象。
-
-
-
构造方法详细信息
-
EnumControl
protected EnumControl(EnumControl.Type type, Object[] values, Object value)
使用给定的参数构造一个新的枚举控制对象。- 参数
-
type
- 表示此枚举控件对象的控件类型 -
values
- 控件的可能值集合 -
value
- 初始控制值
-
-
方法详细信息
-
setValue
public void setValue(Object value)
设置控件的当前值。 默认实现只是按照指示设置值。 如果不支持指示的值,则抛出一个IllegalArgumentException
。 一些控件要求在打开它们的行之前,通过设置值来影响它们的行。- 参数
-
value
- 所需的新值 - 异常
-
IllegalArgumentException
- 如果指示的值不在容许范围内
-
getValue
public Object getValue()
获取此控件的当前值。- 结果
- 当前值
-
getValues
public Object[] getValues()
返回此控件的可能值集。- 结果
- 一组可能的值
-
-