public abstract class EnumControl extends Control
EnumControl
提供对一组离散可能值的控制,每个值由对象表示。
在图形用户界面中,这样的控件可以由一组按钮来表示,每个按钮选择一个值或设置。
例如,混响控制可以提供多个预设的混响设置,而不是提供将由FloatControl
对象表示的FloatControl
。
只提供两个设置之间进行选择控件通常可以代替实现为
,并提供带一些可量化的维度的一组值的控件可能被改为实现为BooleanControl
FloatControl
用粗的分辨率。 但是, EnumControl
一个关键特性是返回的值是任意对象,而不是数值或布尔值。 这意味着每个返回的对象都可以提供更多的信息。 例如,
控件的设置是REVERB
ReverbType
的
,可以查询每个设置使用的参数值。 ReverbType
Modifier and Type | Class and Description |
---|---|
static class |
EnumControl.Type
EnumControl.Type 内部类的实例标识了一种枚举控件。
|
Modifier | Constructor and Description |
---|---|
protected |
EnumControl(EnumControl.Type type, Object[] values, Object value)
使用给定的参数构造一个新的枚举控制对象。
|
protected EnumControl(EnumControl.Type type, Object[] values, Object value)
type
- 表示此枚举控件对象的控件类型
values
- 控件的一组可能的值
value
- 初始控制值
public void setValue(Object value)
value
- 所需的新值
IllegalArgumentException
- 如果指示的值不在容许范围内
public Object getValue()
public Object[] getValues()