Module java.desktop

Class EnumControl

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
  • Constructor Details

    • EnumControl

      protected EnumControl(EnumControl.Type type, Object[] values, Object value)
      用给定的参数构造一个新的枚举控件对象。
      参数:
      type - 此枚举控件对象所代表的控件类型
      values - 控件的可能值集合
      value - 初始控件值
  • Method Details

    • setValue

      public void setValue(Object value)
      设置控件的当前值。默认实现只是设置所指示的值。如果不支持所指示的值,则会抛出IllegalArgumentException。有些控件要求它们的线路在受到设置值影响之前必须是打开状态。
      参数:
      value - 所需的新值
      抛出:
      IllegalArgumentException - 如果所指示的值不在允许范围内
    • getValue

      public Object getValue()
      获取此控件的当前值。
      返回:
      当前值
    • getValues

      public Object[] getValues()
      返回此控件的可能值集合。
      返回:
      可能的值集合
    • toString

      public String toString()
      返回枚举控件的字符串表示。
      覆盖:
      toString 在类 Control
      返回:
      枚举控件的字符串表示