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

📄 floatcontrolcomponent.java

📁 oraily的Swing hacks code
💻 JAVA
字号:
import javax.swing.event.*;import javax.swing.*;import javax.sound.sampled.*;public class FloatControlComponent extends JPanel     implements ChangeListener {    FloatControl control;    JSlider slider;    float min, max, range;    final static int SLIDER_MIN = 0;    final static int SLIDER_MAX = 1000;    final static float SLIDER_RANGE = SLIDER_MAX - SLIDER_MIN;    public FloatControlComponent (FloatControl c) {        control = c;        /*        System.out.println ("Control " + control +                            ": min = " +  control.getMinimum() +                            ", max = " +  control.getMaximum());        */        min = c.getMinimum();        max = c.getMaximum();        range = max - min;        add (new JLabel (control.getMinLabel()));        slider = new JSlider (SLIDER_MIN, SLIDER_MAX);        slider.addChangeListener (this);        setSliderFromControl();        add (slider);        add (new JLabel (control.getMaxLabel()));    }    private void setSliderFromControl() {        // figure out value as percent of range        float offsetValue = control.getValue() - min;        // System.out.println ("offsetValue = " + offsetValue);        float percent = 0.0f;        if (range != 0.0)            percent = offsetValue / range;        // System.out.println ("percent = " + offsetValue/range);        // apply that to SLIDER_RANGE        int sliderValue = (int) (percent * SLIDER_RANGE);        // System.out.println ("sliderValue = " + sliderValue);        slider.setValue (sliderValue);    }    private void setControlFromSlider() {        // figure out slider percentage        float sliderPercentage =            (float) slider.getValue() / SLIDER_RANGE;        // System.out.println ("new slider value = " + slider.getValue() +        //                    ", percentage= " + sliderPercentage);        // figure out value for that percentage of range        float rangeOffset = sliderPercentage * range;        float newValue = rangeOffset + min;        // System.out.println ("rangeOffset = " + rangeOffset +        //                     ", newValue = " + newValue);        control.setValue (newValue);    }    // ChangeListener implementation    public void stateChanged (ChangeEvent e) {        setControlFromSlider();    }}

⌨️ 快捷键说明

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