⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 floatcontrolboundedrangemodel.java

📁 Java Sound API example. It represents a mixer of every sound device of the computer where is running
💻 JAVA
字号:
/* *	FloatControlBoundedRangeModel.java *//* * Copyright (c) 2003 by Matthias Pfisterer * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright notice, *   this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright *   notice, this list of conditions and the following disclaimer in the *   documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */package org.jsresources.apps.mixer;import javax.swing.DefaultBoundedRangeModel;import javax.sound.sampled.FloatControl;/**	TODO: */public class FloatControlBoundedRangeModel    extends DefaultBoundedRangeModel{    private static final boolean DEBUG = true;    private FloatControl m_control;    private float m_fStepsPerUnit;    /**	TODO:     */    public FloatControlBoundedRangeModel(FloatControl control)    {		m_control = control;		float range = control.getMaximum() - control.getMinimum();		float steps = range / control.getPrecision();		m_fStepsPerUnit = steps / range;		if (DEBUG) { out("control: " + control); }		if (DEBUG) { out("steps: " + steps); }		if (DEBUG) { out("steps per unit: " + m_fStepsPerUnit); }		int minimum = (int) (control.getMinimum() * m_fStepsPerUnit);		int maximum = (int) (control.getMaximum() * m_fStepsPerUnit);		int value = (int) (control.getValue() * m_fStepsPerUnit);		setRangeProperties(value, 0, minimum, maximum, false);	}    public void setValue(int nValue)    {		super.setValue(nValue);		// out("setValue: " + nValue);		float fValue = (float) nValue / getScaleFactor();		// out("setValue (float): " + fValue);		m_control.setValue(fValue);    }    public int getValue()    {		return (int) (m_control.getValue() * getScaleFactor());    }    private float getScaleFactor()    {		return m_fStepsPerUnit;    }    private static void out(String message)    {		System.out.println(message);    }}/*** FloatControlBoundedRangeModel.java ***/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -