亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? numberrangemodel.java

?? 用applet實現很多應用小程序
?? JAVA
字號:
package prefuse.data.query;

import javax.swing.DefaultBoundedRangeModel;

import prefuse.util.TypeLib;
import prefuse.util.ui.ValuedRangeModel;

/**
 * Range model for numerical data. Designed to support range-based dynamic
 * queries.
 * 
 * @author <a href="http://jheer.org">jeffrey heer</a>
 */
public class NumberRangeModel extends DefaultBoundedRangeModel
    implements ValuedRangeModel
{
    protected Class m_type;
    protected Number m_min, m_max, m_lo, m_hi;
    
    // ------------------------------------------------------------------------
    
    /**
     * Create a new NumberRangeModel for the given range.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public NumberRangeModel(int lo, int hi, int min, int max) {
        this(new Integer(lo), new Integer(hi), 
             new Integer(min),  new Integer(hi));
    }
    
    /**
     * Create a new NumberRangeModel for the given range.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public NumberRangeModel(long lo, long hi, long min, long max) {
        this(new Long(lo), new Long(hi), new Long(min), new Long(max));
    }
    
    /**
     * Create a new NumberRangeModel for the given range.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public NumberRangeModel(float lo, float hi, float min, float max) {
        this(new Float(lo), new Float(hi), new Float(min), new Float(max));
    }
    
    /**
     * Create a new NumberRangeModel for the given range.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public NumberRangeModel(double lo, double hi, double min, double max) {
        this(new Double(lo), new Double(hi), new Double(min), new Double(max));
    }
    
    /**
     * Create a new NumberRangeModel for the given range.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public NumberRangeModel(Number lo, Number hi, Number min, Number max) {
        m_type = TypeLib.getPrimitiveType(min.getClass());
        setValueRange(lo, hi, min, max);
    }

    // ------------------------------------------------------------------------
    
    /**
     * Update the range settings based on current values.
     */
    protected void updateRange() {
        if ( m_type == int.class )
        {
            setRange(m_lo.intValue(), m_hi.intValue()-m_lo.intValue(),
                    m_min.intValue(), m_max.intValue());
        }
        else if ( m_type == long.class )
        {
        	long range = m_max.longValue() - m_min.longValue();
        	if (range == 0) {
        		setRange(0, 0, 0, 0);
        	} else {
        		long lo = m_lo.longValue() - m_min.longValue();
        		long hi = m_hi.longValue() - m_min.longValue();
        	
        		int v = 10000 * (int)( lo / range );
        		int e = 10000 * (int)( hi / range ) - v;
        		setRange(v, e, 0, 10000);
        	}
        }
        else
        {
        	double range = m_max.doubleValue() - m_min.doubleValue();
        	if (range == 0) {
        		setRange(0, 0, 0, 0);
        	} else {
        		double lo = m_lo.doubleValue() - m_min.doubleValue();
        		double hi = m_hi.doubleValue() - m_min.doubleValue();

        		int v = 10000 * (int)( lo / range );
        		int e = 10000 * (int)( hi / range ) - v;
        		setRange(v, e, 0, 10000);
        	}
        }
    }
    
    /**
     * Set the range settings in the pixel-space coordinates.
     */
    protected void setRange(int val, int ext, int min, int max) {
        super.setRangeProperties(val, ext, min, max, false);
    }
    
    /**
     * @see javax.swing.BoundedRangeModel#setRangeProperties(int, int, int, int, boolean)
     */
    public void setRangeProperties(int val, int extent, int min, int max,
                                   boolean adj)
    {
        if ( min!=getMinimum() || max!= getMaximum() ) {
            throw new IllegalArgumentException("Can not change min or max.");
        }
        m_lo = null;
        m_hi = null;
        super.setRangeProperties(val, extent, min, max, adj);
    }
    
    /**
     * Set the range model's backing values.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public void setValueRange(Number lo, Number hi, Number min, Number max) {
        m_lo = lo; m_hi = hi; m_min = min; m_max = max;
        updateRange();
    }
    
    /**
     * Set the range model's backing values.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public void setValueRange(double lo, double hi, double min, double max) {
        m_lo = new Double(lo);   m_hi = new Double(hi);
        m_min = new Double(min); m_max = new Double(max);
        updateRange();
    }
    
    /**
     * Set the range model's backing values.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public void setValueRange(int lo, int hi, int min, int max) {
        m_lo = new Integer(lo);   m_hi = new Integer(hi);
        m_min = new Integer(min); m_max = new Integer(max);
        updateRange();
    }
    
    /**
     * Set the range model's backing values.
     * @param lo the low value of the selected range
     * @param hi the high value of the selected range
     * @param min the minimum value allowed for ranges
     * @param max the maximum value allowed for ranges
     */
    public void setValueRange(long lo, long hi, long min, long max) {
        m_lo = new Long(lo);   m_hi = new Long(hi);
        m_min = new Long(min); m_max = new Long(max);
        updateRange();
    }
    
    /**
     * @see prefuse.util.ui.ValuedRangeModel#getMinValue()
     */
    public Object getMinValue() {
        return m_min;
    }

    /**
     * Set the minimum range value.
     * @param n the minimum range value.
     */
    public void setMinValue(Number n) {
        setValueRange((Number)getLowValue(), (Number)getHighValue(), n, m_max);
    }
    
    /**
     * @see prefuse.util.ui.ValuedRangeModel#getMaxValue()
     */
    public Object getMaxValue() {
        return m_max;
    }

    /**
     * Set the maximum range value.
     * @param n the maximum range value.
     */
    public void setMaxValue(Number n) {
        setValueRange((Number)getLowValue(), (Number)getHighValue(), m_min, n);
    }
    
    /**
     * @see prefuse.util.ui.ValuedRangeModel#getLowValue()
     */
    public Object getLowValue() {
        if ( m_lo == null )
            m_lo = (Number)value(getValue());
        return m_lo;
    }

    /**
     * Set the lowest selected range value.
     * @param n the low value of the selected range.
     */
    public void setLowValue(Number n) {
        setValueRange(n, (Number)getHighValue(), m_min, m_max);
    }
    
    /**
     * @see prefuse.util.ui.ValuedRangeModel#getHighValue()
     */
    public Object getHighValue() {
        if ( m_hi == null )
            m_hi = (Number)value(getValue()+getExtent());
        return m_hi;
    }
    
    /**
     * Set the highest selected range value.
     * @param n the high value of the selected range.
     */
    public void setHighValue(Number n) {
        setValueRange((Number)getLowValue(), n, m_min, m_max);
    }
    
    protected Object value(int val) {
        int min = getMinimum();
        int max = getMaximum();
        if ( m_type == double.class || m_type == float.class ) {
            double f = (val-min)/(double)(max-min);
            double m = m_min.doubleValue();
            double v = m + f*(m_max.doubleValue()-m);
            return (m_type==float.class ? (Number)new Float((float)v) 
                                        : new Double(v));
        } else if ( m_type == long.class ) {
            long m = m_min.longValue();
            long v = m + (val-min)*(m_max.longValue()-m)/(max-min);
            return new Long(v);
        } else {
            return new Integer(val);
        }
    }
    
    /**
     * Not supported, throws an exception.
     * @throws UnsupportedOperationException
     * @see javax.swing.BoundedRangeModel#setMinimum(int)
     */
    public void setMinimum(int min) {
        throw new UnsupportedOperationException();
    }
    
    /**
     * Not supported, throws an exception.
     * @throws UnsupportedOperationException
     * @see javax.swing.BoundedRangeModel#setMaximum(int)
     */
    public void setMaximum(int max) {
        throw new UnsupportedOperationException();
    }
    
    /**
     * @see javax.swing.BoundedRangeModel#setValue(int)
     */
    public void setValue(int val) {
        m_lo = null;
        super.setValue(val);
    }
    
    /**
     * @see javax.swing.BoundedRangeModel#setExtent(int)
     */
    public void setExtent(int extent) {
        m_hi = null;
        super.setExtent(extent);
    }
    
} // end of class NumberRangeModel

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产精选| 精品久久国产97色综合| 激情综合一区二区三区| 亚洲黄色录像片| 国产亚洲一区二区三区| 777欧美精品| 91丝袜美女网| 国产一区久久久| 亚洲午夜国产一区99re久久| 中文字幕国产精品一区二区| 欧美v国产在线一区二区三区| 日本精品一区二区三区高清 | 一区二区三区国产| 国产三级欧美三级日产三级99 | 国产一区二区三区免费播放| 亚洲超碰精品一区二区| 亚洲婷婷综合色高清在线| 久久精品人人做| 2020国产精品| 欧美v日韩v国产v| 91麻豆精品91久久久久同性| 欧美三级中文字| 欧美在线视频不卡| 在线国产亚洲欧美| 色av成人天堂桃色av| 99国产欧美另类久久久精品| 成人精品电影在线观看| 国产乱人伦精品一区二区在线观看| 日韩精品一二三区| 亚洲444eee在线观看| 最新久久zyz资源站| 日本一区二区三区在线观看| 久久久久久免费网| 久久夜色精品一区| 精品国产91乱码一区二区三区| 欧美一区永久视频免费观看| 欧美福利视频一区| 91麻豆精品国产自产在线观看一区| 欧美日韩一区二区不卡| 精品视频免费在线| 欧美精品777| 欧美一级精品在线| 欧美tickling挠脚心丨vk| 日韩视频国产视频| 久久免费偷拍视频| 国产精品久久久一本精品| 亚洲欧洲无码一区二区三区| 免费的成人av| 久88久久88久久久| 国产尤物一区二区在线 | 欧美日韩亚洲不卡| 欧美一区二区三区男人的天堂| 欧美xxxx在线观看| 国产欧美一区二区精品秋霞影院| 国产精品你懂的在线欣赏| 1000精品久久久久久久久| 亚洲一二三区不卡| 日本sm残虐另类| 国产精品911| 在线这里只有精品| 91精品国产综合久久精品图片| 日韩精品在线一区二区| 国产色爱av资源综合区| 亚洲综合在线五月| 久久精品噜噜噜成人88aⅴ| 风流少妇一区二区| 91久久线看在观草草青青| 91精品国产一区二区人妖| 久久精品亚洲国产奇米99 | 麻豆91在线播放| 国产精品一区二区黑丝| 色综合一区二区| 日韩一卡二卡三卡四卡| 国产欧美日韩精品一区| 亚洲成人动漫一区| 国产精品一二一区| 欧美午夜不卡视频| 国产欧美一区二区三区在线看蜜臀| 最新不卡av在线| 久热成人在线视频| 色妞www精品视频| 337p日本欧洲亚洲大胆色噜噜| 国产精品网站一区| 日韩电影在线观看一区| 懂色av一区二区夜夜嗨| 欧美日韩你懂的| 国产精品视频在线看| 首页国产欧美久久| eeuss鲁片一区二区三区在线看| 在线播放91灌醉迷j高跟美女 | 成人国产视频在线观看| 在线播放91灌醉迷j高跟美女 | 美腿丝袜亚洲三区| 91香蕉视频在线| 久久欧美一区二区| 日韩精品亚洲专区| 色综合久久天天| 欧美大片拔萝卜| 香蕉久久一区二区不卡无毒影院| 丁香婷婷综合色啪| 日韩精品一区二区三区蜜臀| 亚洲图片有声小说| av在线免费不卡| 久久婷婷久久一区二区三区| 天天综合色天天综合| 91久久精品一区二区三区| 欧美激情在线一区二区三区| 久久精品国产一区二区三| 欧美日韩不卡一区二区| 一区二区三区在线视频免费观看| 福利一区福利二区| 久久免费电影网| 精品一区二区在线免费观看| 91精品婷婷国产综合久久性色| 一区二区三区国产| 一本色道a无线码一区v| 国产精品久久久久四虎| 国产精品影视在线观看| 欧美精品一区二区在线观看| 免费久久99精品国产| 在线播放亚洲一区| 日韩黄色免费网站| 欧美一区二区三区在| 丝袜美腿亚洲一区二区图片| 欧美日韩三级视频| 天堂久久一区二区三区| 欧美日韩一区二区三区在线| 亚洲午夜免费视频| 欧美年轻男男videosbes| 亚洲午夜精品17c| 欧美日韩精品欧美日韩精品| 午夜一区二区三区视频| 欧美揉bbbbb揉bbbbb| 亚洲国产视频a| 欧美精品丝袜中出| 视频一区二区三区入口| 日韩美女一区二区三区| 精油按摩中文字幕久久| 日韩欧美久久久| 狠狠色丁香九九婷婷综合五月| 26uuu亚洲综合色| 韩国在线一区二区| 欧美韩日一区二区三区| 成人h精品动漫一区二区三区| 自拍偷拍国产精品| 欧美探花视频资源| 日韩精品一卡二卡三卡四卡无卡| 日韩欧美在线不卡| 国产精一区二区三区| 国产精品久久国产精麻豆99网站 | 99久久99久久久精品齐齐| 亚洲视频在线观看一区| 欧美日韩一区二区三区高清| 免费在线观看不卡| 久久久影视传媒| 91欧美激情一区二区三区成人| 樱桃视频在线观看一区| 欧美二区在线观看| 国产一区二区三区免费播放| 1000精品久久久久久久久| 欧美午夜寂寞影院| 韩国v欧美v亚洲v日本v| 日韩理论片在线| 欧美三级视频在线观看 | 欧美色图一区二区三区| 日本va欧美va精品发布| 欧美国产欧美亚州国产日韩mv天天看完整| 成人av免费在线播放| 亚洲一区在线电影| 精品久久国产老人久久综合| 99热精品国产| 免费在线观看一区二区三区| 国产精品久久久久久久久搜平片| 欧美中文字幕一区二区三区亚洲| 免费成人你懂的| 亚洲欧美日韩在线不卡| 日韩一区二区免费在线电影 | 精品蜜桃在线看| 色婷婷综合视频在线观看| 麻豆成人91精品二区三区| 亚洲视频香蕉人妖| 欧美电视剧免费全集观看| 91首页免费视频| 激情久久五月天| 夜夜操天天操亚洲| 国产无一区二区| 91精选在线观看| 色婷婷综合久色| 国产精品综合久久| 日韩高清不卡一区| 日韩一区在线免费观看| 精品99999| 777亚洲妇女| 91精品福利视频| 国产99精品在线观看| 奇米影视一区二区三区小说| 亚洲免费视频中文字幕| 国产亚洲婷婷免费| 日韩欧美国产午夜精品| 欧美三级日韩三级|