public abstract class FloatControl extends Control
FloatControl
对象提供对一系列浮点值的控制。
浮动控件通常通过连续可调的对象(如滑块或旋钮)在图形用户界面中进行表示。
FloatControl的FloatControl
子类实现了以应用程序可以操作的某种方式影响线路音频信号的控制(如增益和平移)。
FloatControl.Type
内部类提供了用于识别一些常见类型的浮点控件的类型的静态实例。
FloatControl
抽象类提供了设置和获取控件当前浮点值的方法。 其他方法可以获得值的可能范围和控制分辨率(返回值之间的最小增量)。 一些浮动控件允许在指定的时间内斜坡上升到一个新的值。 FloatControl
还包括返回控件的最小,最大和中点位置的字符串标签的方法。
Line.getControls()
,
Line.isControlSupported(javax.sound.sampled.Control.Type)
Modifier and Type | Class and Description |
---|---|
static class |
FloatControl.Type
FloatControl.Type 内部类的实例标识一种浮点型控件。
|
Modifier | Constructor and Description |
---|---|
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控件对象
|
Modifier and Type | Method and Description |
---|---|
float |
getMaximum()
获得允许的最大值。
|
String |
getMaxLabel()
获取最大值的标签,例如“Right”或“Full”。
|
String |
getMidLabel()
获取中点值的标签,例如“中心”或“默认”。
|
float |
getMinimum()
获得允许的最小值。
|
String |
getMinLabel()
获取最小值的标签,例如“左”或“关”。
|
float |
getPrecision()
以控制措施的单位获得控制的决议或粒度。
|
String |
getUnits()
获取表示控件值的单位的标签,例如“dB”或“每秒帧数”。
|
int |
getUpdatePeriod()
获取最小时间间隔(以微秒为单位),控制的值可以在换档期间改变。
|
float |
getValue()
获取此控件的当前值。
|
void |
setValue(float newValue)
设置控件的当前值。
|
void |
shift(float from, float to, int microseconds)
在指定的时间段内将控制值从初始值线性改变为最终值,以微秒为单位。
|
String |
toString()
提供控件的字符串表示形式
|
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
- 控制
minimum
的最小值
maximum
- 控制允许的最大值
precision
- 控件的分辨率或粒度。
这是离散有效值之间的增量的大小。
updatePeriod
- 最短时间间隔(以微秒为单位),在一个
shift
期间,控制可以从一个离散值向下一个
变化
initialValue
- 构建时控件开始的值
units
- 表示控制值的单位的标签,例如“dB”或“每秒帧数”
minLabel
- 最小值的标签,例如“左”或“关”
midLabel
- 中点值的标签,如“中心”或“默认”
maxLabel
- 最大值的标签,如“右”或“全”
IllegalArgumentException
- 如果
minimum
大于
maximum
或
initialValue
不在允许范围内
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
type
- 由此浮动控件对象表示的控件种类
minimum
- 控制
minimum
的最小值
maximum
- 控制允许的最大值
precision
- 控件的分辨率或粒度。
这是离散有效值之间的增量的大小。
updatePeriod
- 最小的时间间隔(以微秒为单位),在一个
shift
期间,控制可以从一个离散值改变到下一个离散值
initialValue
- 构造时控件开始的值
units
- 表示控制值的单位的标签,例如“dB”或“每秒帧数”
IllegalArgumentException
- 如果
minimum
大于
maximum
或
initialValue
不在允许范围内
public void setValue(float newValue)
newValue
- 所需的新值
IllegalArgumentException
- 如果指示的值不在容许范围内
public float getValue()
public float getMaximum()
public float getMinimum()
public String getUnits()
public String getMinLabel()
public String getMidLabel()
public String getMaxLabel()
public float getPrecision()
public int getUpdatePeriod()
shift(float, float, int)
public void shift(float from, float to, int microseconds)
from
- 移位开始时的初始值
to
- 转移后的最终值
microseconds
- 以微秒为单位的最大持续时间
IllegalArgumentException
- 如果
from
或
to
值不在允许范围内
getUpdatePeriod()