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

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

?? basicsliderui.java

?? java1.6眾多例子參考
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
            g.setColor(slider.getBackground().darker());        }	Boolean paintThumbArrowShape =	    (Boolean)slider.getClientProperty("Slider.paintThumbArrowShape");	if ((!slider.getPaintTicks() && paintThumbArrowShape == null) ||	    paintThumbArrowShape == Boolean.FALSE) {	    // "plain" version            g.fillRect(0, 0, w, h);            g.setColor(Color.black);            g.drawLine(0, h-1, w-1, h-1);                g.drawLine(w-1, 0, w-1, h-1);                g.setColor(highlightColor);            g.drawLine(0, 0, 0, h-2);            g.drawLine(1, 0, w-2, 0);            g.setColor(shadowColor);            g.drawLine(1, h-2, w-2, h-2);            g.drawLine(w-2, 1, w-2, h-3);        }        else if ( slider.getOrientation() == JSlider.HORIZONTAL ) {            int cw = w / 2;            g.fillRect(1, 1, w-3, h-1-cw);            Polygon p = new Polygon();            p.addPoint(1, h-cw);            p.addPoint(cw-1, h-1);            p.addPoint(w-2, h-1-cw);            g.fillPolygon(p);                   g.setColor(highlightColor);            g.drawLine(0, 0, w-2, 0);            g.drawLine(0, 1, 0, h-1-cw);            g.drawLine(0, h-cw, cw-1, h-1);             g.setColor(Color.black);            g.drawLine(w-1, 0, w-1, h-2-cw);                g.drawLine(w-1, h-1-cw, w-1-cw, h-1);                   g.setColor(shadowColor);            g.drawLine(w-2, 1, w-2, h-2-cw);                g.drawLine(w-2, h-1-cw, w-1-cw, h-2);               }        else {  // vertical            int cw = h / 2;	    if(BasicGraphicsUtils.isLeftToRight(slider)) {		  g.fillRect(1, 1, w-1-cw, h-3);	          Polygon p = new Polygon();                  p.addPoint(w-cw-1, 0);                  p.addPoint(w-1, cw);                  p.addPoint(w-1-cw, h-2);                  g.fillPolygon(p);                  g.setColor(highlightColor);	          g.drawLine(0, 0, 0, h - 2);                  // left	          g.drawLine(1, 0, w-1-cw, 0);                 // top	          g.drawLine(w-cw-1, 0, w-1, cw);              // top slant                  g.setColor(Color.black);	          g.drawLine(0, h-1, w-2-cw, h-1);             // bottom	          g.drawLine(w-1-cw, h-1, w-1, h-1-cw);        // bottom slant                  g.setColor(shadowColor);                  g.drawLine(1, h-2, w-2-cw,  h-2 );         // bottom                  g.drawLine(w-1-cw, h-2, w-2, h-cw-1 );     // bottom slant	    }	    else {		  g.fillRect(5, 1, w-1-cw, h-3);	          Polygon p = new Polygon();                  p.addPoint(cw, 0);                  p.addPoint(0, cw);                  p.addPoint(cw, h-2);                  g.fillPolygon(p);                  g.setColor(highlightColor);                  g.drawLine(cw-1, 0, w-2, 0);             // top                  g.drawLine(0, cw, cw, 0);                // top slant                  g.setColor(Color.black);                  g.drawLine(0, h-1-cw, cw, h-1 );         // bottom slant                  g.drawLine(cw, h-1, w-1, h-1);           // bottom                  g.setColor(shadowColor);                  g.drawLine(cw, h-2, w-2,  h-2 );         // bottom                  g.drawLine(w-1, 1, w-1,  h-2 );          // right	    }        }        g.translate(-knobBounds.x, -knobBounds.y);    }    // Used exclusively by setThumbLocation()    private static Rectangle unionRect = new Rectangle();    public void setThumbLocation(int x, int y)  {        unionRect.setBounds( thumbRect );        thumbRect.setLocation( x, y );	SwingUtilities.computeUnion( thumbRect.x, thumbRect.y, thumbRect.width, thumbRect.height, unionRect );         slider.repaint( unionRect.x, unionRect.y, unionRect.width, unionRect.height );    }    public void scrollByBlock(int direction)    {        synchronized(slider)    {            int oldValue = slider.getValue();            int blockIncrement =                (slider.getMaximum() - slider.getMinimum()) / 10;            if (blockIncrement <= 0 &&                slider.getMaximum() > slider.getMinimum()) {                blockIncrement = 1;            }            int delta = blockIncrement * ((direction > 0) ? POSITIVE_SCROLL : NEGATIVE_SCROLL);            slider.setValue(oldValue + delta);                  }    }    public void scrollByUnit(int direction) {        synchronized(slider)    {            int oldValue = slider.getValue();            int delta = 1 * ((direction > 0) ? POSITIVE_SCROLL : NEGATIVE_SCROLL);            slider.setValue(oldValue + delta);          }           }    /**     * This function is called when a mousePressed was detected in the track, not     * in the thumb.  The default behavior is to scroll by block.  You can     *  override this method to stop it from scrolling or to add additional behavior.     */    protected void scrollDueToClickInTrack( int dir ) {        scrollByBlock( dir );    }    protected int xPositionForValue( int value )    {        int min = slider.getMinimum();        int max = slider.getMaximum();        int trackLength = trackRect.width;        double valueRange = (double)max - (double)min;        double pixelsPerValue = (double)trackLength / valueRange;        int trackLeft = trackRect.x;        int trackRight = trackRect.x + (trackRect.width - 1);        int xPosition;        if ( !drawInverted() ) {            xPosition = trackLeft;            xPosition += Math.round( pixelsPerValue * ((double)value - min) );        }        else {            xPosition = trackRight;            xPosition -= Math.round( pixelsPerValue * ((double)value - min) );        }        xPosition = Math.max( trackLeft, xPosition );        xPosition = Math.min( trackRight, xPosition );        return xPosition;    }    protected int yPositionForValue( int value )  {        return yPositionForValue(value, trackRect.y, trackRect.height);    }    /**     * Returns the y location for the specified value.  No checking is     * done on the arguments.  In particular if <code>trackHeight</code> is     * negative undefined results may occur.     *     * @param value the slider value to get the location for     * @param trackY y-origin of the track     * @param trackHeight the height of the track     * @since 1.6     */    protected int yPositionForValue(int value, int trackY, int trackHeight) {        int min = slider.getMinimum();        int max = slider.getMaximum();        double valueRange = (double)max - (double)min;        double pixelsPerValue = (double)trackHeight / (double)valueRange;        int trackBottom = trackY + (trackHeight - 1);        int yPosition;        if ( !drawInverted() ) {            yPosition = trackY;            yPosition += Math.round( pixelsPerValue * ((double)max - value ) );        }        else {            yPosition = trackY;            yPosition += Math.round( pixelsPerValue * ((double)value - min) );        }        yPosition = Math.max( trackY, yPosition );        yPosition = Math.min( trackBottom, yPosition );        return yPosition;    }    /**     * Returns a value give a y position.  If yPos is past the track at the top or the     * bottom it will set the value to the min or max of the slider, depending if the     * slider is inverted or not.     */    public int valueForYPosition( int yPos ) {        int value;	final int minValue = slider.getMinimum();	final int maxValue = slider.getMaximum();	final int trackLength = trackRect.height;	final int trackTop = trackRect.y;	final int trackBottom = trackRect.y + (trackRect.height - 1);		if ( yPos <= trackTop ) {	    value = drawInverted() ? minValue : maxValue;	}	else if ( yPos >= trackBottom ) {	    value = drawInverted() ? maxValue : minValue;	}	else {	    int distanceFromTrackTop = yPos - trackTop;	    double valueRange = (double)maxValue - (double)minValue;	    double valuePerPixel = valueRange / (double)trackLength;	    int valueFromTrackTop = (int)Math.round( distanceFromTrackTop * valuePerPixel );	    value = drawInverted() ? minValue + valueFromTrackTop : maxValue - valueFromTrackTop;	}		return value;    }      /**     * Returns a value give an x position.  If xPos is past the track at the left or the     * right it will set the value to the min or max of the slider, depending if the     * slider is inverted or not.     */    public int valueForXPosition( int xPos ) {        int value;	final int minValue = slider.getMinimum();	final int maxValue = slider.getMaximum();	final int trackLength = trackRect.width;	final int trackLeft = trackRect.x; 	final int trackRight = trackRect.x + (trackRect.width - 1);		if ( xPos <= trackLeft ) {	    value = drawInverted() ? maxValue : minValue;	}	else if ( xPos >= trackRight ) {	    value = drawInverted() ? minValue : maxValue;	}	else {	    int distanceFromTrackLeft = xPos - trackLeft;	    double valueRange = (double)maxValue - (double)minValue;	    double valuePerPixel = valueRange / (double)trackLength;	    int valueFromTrackLeft = (int)Math.round( distanceFromTrackLeft * valuePerPixel );	    	    value = drawInverted() ? maxValue - valueFromTrackLeft :	      minValue + valueFromTrackLeft;	}		return value;    }    private class Handler implements ChangeListener,            ComponentListener, FocusListener, PropertyChangeListener {        // Change Handler        public void stateChanged(ChangeEvent e) {	    if (!isDragging) {	        calculateThumbLocation();		slider.repaint();	    }        }        // Component Handler        public void componentHidden(ComponentEvent e) { }        public void componentMoved(ComponentEvent e) { }        public void componentResized(ComponentEvent e) {	    calculateGeometry();	    slider.repaint();        }        public void componentShown(ComponentEvent e) { }        // Focus Handler        public void focusGained(FocusEvent e) { slider.repaint(); }        public void focusLost(FocusEvent e) { slider.repaint(); }        // Property Change Handler        public void propertyChange(PropertyChangeEvent e) {            String propertyName = e.getPropertyName();            if (propertyName == "orientation" ||                    propertyName == "inverted" ||                    propertyName == "labelTable" ||                    propertyName == "majorTickSpacing" ||                    propertyName == "minorTickSpacing" ||                    propertyName == "paintTicks" ||                    propertyName == "paintTrack" ||                    propertyName == "font" ||                    propertyName == "paintLabels") {                checkedLabelBaselines = false;                calculateGeometry();                slider.repaint();            } else if (propertyName == "componentOrientation") {                calculateGeometry();                slider.repaint();                InputMap km = getInputMap(JComponent.WHEN_FOCUSED, slider);                SwingUtilities.replaceUIInputMap(slider,                    JComponent.WHEN_FOCUSED, km);            } else if (propertyName == "model") {                ((BoundedRangeModel)e.getOldValue()).removeChangeListener(                    changeListener);                ((BoundedRangeModel)e.getNewValue()).addChangeListener(                    changeListener);                calculateThumbLocation();                slider.repaint();            }        }    }    /////////////////////////////////////////////////////////////////////////    /// Model Listener Class    /////////////////////////////////////////////////////////////////////////            /**     * Data model listener.     *     * This class should be treated as a &quot;protected&quot; inner class.     * Instantiate it only within subclasses of <Foo>.     */    public class ChangeHandler implements ChangeListener {        // NOTE: This class exists only for backward compatability. All        // its functionality has been moved into Handler. If you need to add        // new functionality add it to the Handler, but make sure this              // class calls into the Handler.        public void stateChanged(ChangeEvent e) {            getHandler().stateChanged(e);        }    }    /////////////////////////////////////////////////////////////////////////    /// Track Listener Class    /////////////////////////////////////////////////////////////////////////            /**     * Track mouse movements.     *     * This class should be treated as a &quot;protected&quot; inner class.     * Instantiate it only within subclasses of <Foo>.     */    public class TrackListener extends MouseInputAdapter {        protected transient int offset;        protected transient int currentMouseX, currentMouseY;        public void mouseReleased(MouseEvent e) {            if (!slider.isEnabled()) {                return;            }            offset = 0;            scrollTimer.stop();            // This is the way we have to determine snap-to-ticks.  It's            // hard to explain but since ChangeEvents don't give us any            // idea what has changed we don't have a way to stop the thumb            // bounds from being recalculated.  Recalculating the thumb            // bounds moves the thumb over the current value (i.e., snapping            // to the ticks).            if (slider.getSnapToTicks() /*|| slider.getSnapToValue()*/ ) {                isDragging = false;                slider.setValueIsAdjusting(false);            }            else {                slider.setValueIsAdjusting(false);                isDragging = false;            }            slider.repaint();        }        /**        * If the mouse is pressed above the "thumb" component

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天操天天干天天综合网| 欧美福利电影网| 欧美视频在线不卡| 在线综合亚洲欧美在线视频| 久久这里只有精品6| 亚洲人吸女人奶水| 日本网站在线观看一区二区三区 | 欧美日本一区二区| 日韩免费高清av| 国产精品美女久久久久久| 一区二区三区成人| 国产最新精品免费| 在线观看免费亚洲| 久久久噜噜噜久久中文字幕色伊伊| 综合电影一区二区三区| 天天综合天天做天天综合| 国产精品一级黄| 欧美日韩激情一区| 国产欧美一区二区精品性| 性做久久久久久免费观看欧美| 精品一区二区免费| 欧美亚洲国产一区在线观看网站| 777久久久精品| 亚洲欧洲日韩一区二区三区| 毛片av一区二区三区| 91麻豆国产精品久久| 久久无码av三级| 午夜精品视频一区| 9久草视频在线视频精品| 亚洲精品视频免费观看| 麻豆精品视频在线观看视频| 成人免费av在线| 精品日产卡一卡二卡麻豆| 亚洲最大的成人av| 成人精品小蝌蚪| 在线电影欧美成精品| 国产精品少妇自拍| 偷拍亚洲欧洲综合| 日本二三区不卡| 国产精品视频你懂的| 蜜桃av一区二区在线观看| 日本精品视频一区二区| 国产精品美女www爽爽爽| 精品亚洲免费视频| 91麻豆精品国产91久久久| 亚洲免费在线视频一区 二区| 国产一区在线观看视频| 欧美一区二区三区白人| 亚洲成人免费在线观看| 色婷婷综合久久久中文字幕| 国产精品热久久久久夜色精品三区 | 久草这里只有精品视频| 欧美日韩日日摸| 亚洲精品视频免费观看| av在线不卡免费看| 欧美激情中文字幕一区二区| 韩国一区二区视频| 精品久久人人做人人爽| 男人的天堂亚洲一区| 欧美日韩在线观看一区二区| 一区二区三区在线不卡| 91在线观看视频| 亚洲男女一区二区三区| 91亚洲精品久久久蜜桃网站| 国产精品久久久久精k8| www.色综合.com| 中文字幕在线观看一区二区| 成人国产视频在线观看| 国产精品进线69影院| 北条麻妃国产九九精品视频| 中文字幕av一区二区三区免费看| 国产成人综合网站| 日本一区二区视频在线观看| 高清日韩电视剧大全免费| 中文字幕乱码日本亚洲一区二区| 丁香啪啪综合成人亚洲小说 | 欧美日韩亚洲另类| 午夜在线成人av| 欧美日韩高清不卡| 蜜乳av一区二区三区| 精品成人私密视频| 国产大片一区二区| 国产精品视频观看| 色久优优欧美色久优优| 亚洲一级二级三级| 制服丝袜激情欧洲亚洲| 久久精品国产精品亚洲红杏| 2020国产精品自拍| 国产91色综合久久免费分享| 中文字幕一区二区三| 一本色道久久加勒比精品 | 欧美疯狂做受xxxx富婆| 美国一区二区三区在线播放| 久久久一区二区| av爱爱亚洲一区| 亚洲电影激情视频网站| 日韩亚洲欧美中文三级| 国产精品综合在线视频| 成人欧美一区二区三区视频网页 | 天天色天天爱天天射综合| 精品欧美一区二区久久| 成人不卡免费av| 亚洲国产一区在线观看| 欧美videofree性高清杂交| 国产一区啦啦啦在线观看| 亚洲欧洲一区二区三区| 欧美欧美午夜aⅴ在线观看| 极品尤物av久久免费看| 亚洲视频网在线直播| 欧美伦理电影网| 国产精品1区2区| 亚洲精选在线视频| 欧美一区二区人人喊爽| 福利一区二区在线| 亚洲一区二区在线视频| 日韩三级精品电影久久久| 成人午夜精品在线| 亚洲福利电影网| 久久久国际精品| 欧美亚洲综合一区| 美日韩一区二区三区| 亚洲视频一区在线观看| 日韩午夜激情视频| 不卡一区二区中文字幕| 秋霞成人午夜伦在线观看| 国产精品天干天干在观线| 欧美日韩精品一区二区三区蜜桃| 豆国产96在线|亚洲| 香蕉久久夜色精品国产使用方法| 久久奇米777| 欧美日韩精品一区二区天天拍小说| 国产二区国产一区在线观看| 五月天激情综合| 国产精品久久午夜夜伦鲁鲁| 欧美一区二区免费视频| 91农村精品一区二区在线| 极品美女销魂一区二区三区免费| 一区二区三区四区国产精品| 2020国产成人综合网| 欧美美女一区二区| 91麻豆精品在线观看| 国产成人亚洲精品狼色在线| 天堂午夜影视日韩欧美一区二区| 国产精品无圣光一区二区| 亚洲一区在线观看免费| 久久久久久亚洲综合影院红桃| 在线播放一区二区三区| 91免费在线看| 不卡一二三区首页| 加勒比av一区二区| 日本成人在线电影网| 一区二区三区在线观看网站| 国产欧美日韩一区二区三区在线观看| 日韩欧美激情一区| 欧美日本在线一区| 欧美在线小视频| 一本一道久久a久久精品| 国产成人av在线影院| 狠狠狠色丁香婷婷综合久久五月| 日韩国产一区二| 亚洲一区二区三区小说| 日韩理论电影院| 国产片一区二区三区| 欧美精品一区二区三区视频| 欧美一级二级三级乱码| 555夜色666亚洲国产免| 欧美色倩网站大全免费| 一本到三区不卡视频| 成人av第一页| av电影一区二区| 波多野结衣中文字幕一区二区三区| 国产成人一级电影| 国产精品乡下勾搭老头1| 国产精品一区二区不卡| 国产伦精品一区二区三区免费迷 | 久久久国产精华| 欧美成人官网二区| 日韩欧美激情在线| 精品国产凹凸成av人网站| 欧美一区二区三区系列电影| 这里只有精品免费| 91精品国产入口| 精品欧美乱码久久久久久| 久久在线观看免费| 久久久久久久久久久久电影| 国产亚洲精品bt天堂精选| 久久精品亚洲一区二区三区浴池| 国产日韩一级二级三级| 国产女主播在线一区二区| 欧美国产成人在线| 中文字幕一区在线观看视频| 亚洲天堂成人网| 亚洲一区二区精品视频| 午夜精品久久久久| 蜜臀va亚洲va欧美va天堂| 麻豆精品视频在线| 国产九色精品成人porny | 亚洲欧美日韩电影| 亚洲综合色区另类av| 天天影视涩香欲综合网|