Module  java.desktop
软件包  javax.sound.sampled

Class FloatControl



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

    FloatControl抽象类提供了设置和获取控件当前浮点值的方法。 其他方法可以获得值的可能范围和控制分辨率(返回值之间的最小增量)。 一些浮动控件允许在指定的时间内斜坡上升到一个新的值。 FloatControl还包括返回控件的最小,最大和中点位置的字符串标签的方法。

    从以下版本开始:
    1.3
    另请参见:
    Line.getControls()Line.isControlSupported(javax.sound.sampled.Control.Type)
    • Nested Class Summary

      Nested Classes  
      Modifier and Type Class 描述
      static class  FloatControl.Type
      FloatControl.Type内部类的实例标识一种浮动控件。
    • 构造方法摘要

      构造方法  
      Modifier Constructor 描述
      protected FloatControl​(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
      使用给定的参数构造一个新的float控件对象。
      protected FloatControl​(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
      使用给定的参数构造一个新的float控件对象。
    • 构造方法详细信息

      • FloatControl

        protected FloatControl​(FloatControl.Type type,
                               float minimum,
                               float maximum,
                               float precision,
                               int updatePeriod,
                               float initialValue,
                               String units,
                               String minLabel,
                               String midLabel,
                               String maxLabel)
        使用给定的参数构造一个新的float控件对象。
        参数
        type - 由此浮动控件对象表示的控件种类
        minimum - 控制允许的最小值
        maximum - 控制允许的最大值
        precision - 控件的分辨率或粒度。 这是离散有效值之间的增量的大小。
        updatePeriod -最小时间间隔,以微秒,在其上的控制可以从一个离散值的过程中改变到下一个 shift
        initialValue - 构建时控件开始的值
        units - 表示控制值的单位的标签,例如“dB”或“每秒帧数”
        minLabel - 最小值的标签,例如“左”或“关”
        midLabel - 中点值的标签,如“中心”或“默认”
        maxLabel - 最大值的标签,例如“Right”或“Full”
        异常
        IllegalArgumentException - 如果 minimum大于 maximuminitialValue不在允许范围内
      • FloatControl

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

      • 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​()
        获取最大值的标签,例如“Right”或“Full”。
        结果
        最大值标签或未设置标签的零长度字符串
      • getPrecision

        public float getPrecision​()
        以控制措施的单位获得控制的决议或粒度。 精度是此控件的离散有效值之间的增量大小,超出了支持的浮点值集合。
        结果
        控制精度
      • getUpdatePeriod

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

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

        public String toString​()
        提供控件的字符串表示形式。
        重写:
        toStringControl
        结果
        一个字符串描述