Module java.desktop

Class FloatControl

java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.FloatControl

public abstract class FloatControl extends Control
一个FloatControl对象提供对一系列浮点值的控制。浮点控件通常在图形用户界面中以可连续调整的对象(如滑块或旋钮)的形式表示。FloatControl的具体子类实现了控件,例如增益和声道,这些控件以某种方式影响线路的音频信号,应用程序可以操作。内部类FloatControl.Type提供了用于标识一些常见浮点控件类型的静态实例。

FloatControl抽象类提供了设置和获取控件当前浮点值的方法。其他方法获取可能的值范围和控件的分辨率(返回值之间的最小增量)。一些浮点控件允许在指定时间段内向新值进行渐变。FloatControl还包括返回控件的最小、最大和中点位置的字符串标签的方法。

自从:
1.3
参见:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    FloatControl.Type内部类的一个实例标识一种浮点控件类型。
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
    使用给定参数构造一个新的浮点控件对象。
    protected
    FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
    使用给定参数构造一个新的浮点控件对象。
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    获取允许的最大值。
    获取最大值的标签,例如“右”或“全”。
    获取中点值的标签,例如“中心”或“默认”。
    float
    获取允许的最小值。
    获取最小值的标签,例如“左”或“关闭”。
    float
    获取控件的分辨率或粒度,以控件测量的单位为单位。
    获取控件值表达的单位的标签,例如“dB”或“每秒帧数”。
    int
    获取控件值在移动过程中可以改变的最小时间间隔(以微秒为单位)。
    float
    获取此控件的当前值。
    void
    setValue(float newValue)
    设置控件的当前值。
    void
    shift(float from, float to, int microseconds)
    在指定的时间段内,线性地从初始值更改控件值到最终值,时间段以微秒为单位指定。
    返回浮点控件的字符串表示形式。

    Methods declared in class javax.sound.sampled.Control

    getType

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • FloatControl

      protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
      使用给定参数构造一个新的浮点控件对象。
      参数:
      type - 此浮点控件对象表示的控件类型
      minimum - 控件允许的最小值
      maximum - 控件允许的最大值
      precision - 控件的分辨率或粒度。这是离散有效值之间增量的大小。
      updatePeriod - 控件在一个shift期间从一个离散值变为下一个离散值的最小时间间隔(以微秒为单位)
      initialValue - 构造时控件开始的值
      units - 控件值表达的单位的标签,例如“dB”或“每秒帧数”
      minLabel - 最小值的标签,例如“左”或“关闭”
      midLabel - 中点值的标签,例如“中心”或“默认”
      maxLabel - 最大值的标签,例如“右”或“全”
      抛出:
      IllegalArgumentException - 如果minimum大于maximuminitialValue不在允许范围内
    • FloatControl

      protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
      使用给定参数构造一个新的浮点控件对象。最小值、最大值和中点值的标签设置为零长度字符串。
      参数:
      type - 此浮点控件对象表示的控件类型
      minimum - 控件允许的最小值
      maximum - 控件允许的最大值
      precision - 控件的分辨率或粒度。这是离散有效值之间增量的大小。
      updatePeriod - 控件在一个shift期间从一个离散值变为下一个离散值的最小时间间隔(以微秒为单位)
      initialValue - 构造时控件开始的值
      units - 控件值表达的单位的标签,例如“dB”或“每秒帧数”
      抛出:
      IllegalArgumentException - 如果minimum大于maximuminitialValue不在允许范围内
  • Method Details

    • setValue

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

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

      public float getMaximum()
      获取允许的最大值。
      返回:
      最大允许值
    • getMinimum

      public float getMinimum()
      获取允许的最小值。
      返回:
      最小允许值
    • getUnits

      public String getUnits()
      获取控件值表达的单位的标签,例如“dB”或“每秒帧数”。
      返回:
      单位标签,如果没有标签则为零长度字符串
    • getMinLabel

      public String getMinLabel()
      获取最小值的标签,例如“左”或“关闭”。
      返回:
      最小值标签,如果未设置标签则为零长度字符串
    • getMidLabel

      public String getMidLabel()
      获取中点值的标签,例如“中心”或“默认”。
      返回:
      中点值标签,如果未设置标签则为零长度字符串
    • getMaxLabel

      public String getMaxLabel()
      获取最大值的标签,例如“右”或“全”。
      返回:
      最大值标签,如果未设置标签则为零长度字符串
    • getPrecision

      public float getPrecision()
      获取控件的分辨率或粒度,以控件测量的单位为单位。精度是控件支持的一组浮点值的离散有效值之间的增量大小。
      返回:
      控件的精度
    • getUpdatePeriod

      public int getUpdatePeriod()
      获取控件值在移动过程中可以改变的最小时间间隔(以微秒为单位)。更新周期是控件在移动过程中更新其值的频率的倒数。如果实现不支持随时间变化的值移动,则应立即将控件的值设置为最终值,并从此方法返回-1。
      返回:
      更新周期(以微秒为单位),如果不支持随时间变化的移动,则为-1
      参见:
    • shift

      public void shift(float from, float to, int microseconds)
      从初始值线性地更改控件值到最终值,指定的时间段内以微秒为单位。此方法返回而不阻塞;它不等待移动完成。实现应在指定的时间内完成操作。默认实现只是立即将值更改为最终值。
      参数:
      from - 移动开始时的初始值
      to - 移动后的最终值
      microseconds - 移动的最大持续时间(以微秒为单位)
      抛出:
      IllegalArgumentException - 如果fromto值不在允许范围内
      参见:
    • toString

      public String toString()
      返回浮点控件的字符串表示形式。
      覆盖:
      toString 在类 Control
      返回:
      浮点控件的字符串表示形式