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

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

?? spinnumber.java

?? 打印管理程序,測試完全通過.windows開發環境.
?? JAVA
字號:
/*
    $Author: $
    $Date: $
    $Revision: $
    $NoKeywords: $
*/

package jp.co.ntl.awt;

import java.awt.Panel;//sContainer;
import java.awt.Point;
import java.awt.event.*;

import jp.co.ntl.awt.event.ChangeEvent;
import jp.co.ntl.awt.event.ChangeListener;
import jp.co.ntl.awt.event.ChangeSupport;

public class SpinNumber extends Panel//Container 
                implements MouseListener, MouseMotionListener, KeyListener, TextListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
    private static final int BUTTON_WIDTH = 13;

    NumberField numField;
    ArrowButton btnUp;
    ArrowButton btnDown;
    
    UpDownThread thread = null;

    private float step = 1; // 1 or 0.1

    private ChangeSupport support = new ChangeSupport();

    public SpinNumber(int figure, int type, float minimum, float maximum) {
        setLayout(null);

        numField = new NumberField(figure, type, minimum, maximum);
        add(numField);
        btnUp = new ArrowButton(ArrowButton.TOP);
        add(btnUp);
        btnDown = new ArrowButton(ArrowButton.BOTTOM);
        add(btnDown);
        
        numField.addKeyListener(this);
        numField.addTextListener(this);
        btnUp.addMouseListener(this);
        btnUp.addMouseMotionListener(this);
        btnDown.addMouseListener(this);
        btnDown.addMouseMotionListener(this);
    }
    
    public void setStep(float step) {
        this.step = step;
    }

    public void setBounds(int x, int y, int width, int height) {
        super.setBounds(x, y, width, height);
        
        numField.setBounds(0, 0, width - BUTTON_WIDTH, height);
        int temp = height / 2;
        btnUp.setBounds(width - BUTTON_WIDTH, 0, BUTTON_WIDTH, temp);
        btnDown.setBounds(width - BUTTON_WIDTH, temp, BUTTON_WIDTH, height - temp);
    }

    public void setEnabled(boolean b) {
        super.setEnabled(b);
        
        numField.setEnabled(b);
        btnUp.setEnabled(b);
        btnDown.setEnabled(b);
    }
    
    public void setValue(float value) {
        numField.setValue(value);
    }
    
    public void setValue(int value) {
        numField.setValue(value);
    }
    
    public int getIntValue() {
        return numField.getIntValue();
    }
    
    public float getFloatValue() {
        return numField.getFloatValue();
    }
    
    public void setText(String text) {
        numField.setText(text);
    }
    
    public void addChangeListener(ChangeListener cl) {
        support.addChangeListener(cl);
    }
    
    public void removeChangeListener(ChangeListener cl) {
        support.removeChangeListener(cl);
    }

    public void keyTyped(KeyEvent ke) { /*support.fireChangeEvent(new ChangeEvent(this));*/ }
    public void keyPressed(KeyEvent ke) { }
    public void keyReleased(KeyEvent ke) {}
    
    public void textValueChanged(TextEvent te) { support.fireChangeEvent(new ChangeEvent(this)); }
    
    public void mouseClicked(MouseEvent me) {}
    public void mouseEntered(MouseEvent me) {}
    public void mouseExited(MouseEvent me) {}
    
    public void mousePressed(MouseEvent me) {
        Object source = me.getSource();
        if (source == btnUp) {
            startThread(true);
        }
        else if (source == btnDown) {
            startThread(false);
        }
    }
    
    public void mouseReleased(MouseEvent me) {
        stopThread();
    }
    
    public void mouseDragged(MouseEvent me) {
        Point pt = me.getPoint();
        if (thread != null) {
            if ((thread.isUp() && !btnUp.contains(pt)) || (!thread.isUp() && !btnDown.contains(pt))) {
                stopThread();
            }
        }
    }

    public void mouseMoved(MouseEvent me) {
    }

    void startThread(boolean up) {
        if (thread == null) {
            thread = new UpDownThread(up);
            thread.start();
        }
    }
    
    void stopThread() {
        if (thread != null) {
            thread.setThreadStop();
            thread = null;
        }
    }

    class UpDownThread extends Thread {
        private boolean threadStop = false;
        private boolean up;
        private int interval = 300;
        
        UpDownThread(boolean up) {
            this.up = up;
        }
        
        boolean isUp() {
            return up;
        }
        
        void setThreadStop() {
            threadStop = true;
        }

        float value;
        public void run() {
            while (!threadStop) {
                try {
                    value = numField.getFloatValue();           
                }
                catch (NumberFormatException e) {
                    break;
                }
                if (interval > 60) {
                    interval -= 20;
                }
                float min = numField.getMinimum();
                float max = numField.getMaximum();;
                if (value != min && value != max) {                    
                    if (value < min) {
                        value = min;
                    } else if (value > max) {
                        value = max;
                    } else {
                        if (up) {
                            if (value != max) {
                                value += step;
                                if (step != 1) {
                                    value = (int)((value + 0.05f) * 10) / 10.0f;
                                }
                                if (value > max) {
                                    value = max;
                                }
                            }
                        } else {
                            if (value != min) {
                                value -= step;
                                if (step != 1) {
                                    value = (int)((value + 0.05f) * 10) / 10.0f;
                                }
                                if (value < min) {
                                    value = min;
                                }
                            }
                        }
                    }
                    numField.setValue(value);
                    support.fireChangeEvent(new ChangeEvent(SpinNumber.this));
                } else if (value == min) {
                    if (up) {
                        value += step;
                        if (step != 1) {
                            value = (int)((value + 0.05f) * 10) / 10.0f;
                        }
                        if (value > max) {
                            value = max;
                        }
                        numField.setValue(value);
                        support.fireChangeEvent(new ChangeEvent(SpinNumber.this));
                    }
                } else if (value == max) {
                    if (!up) {
                        value -= step;
                        if (step != 1) {
                            value = (int)((value + 0.05f) * 10) / 10.0f;
                        }
                        if (value < min) {
                            value = min;
                        }
                        numField.setValue(value);
                        support.fireChangeEvent(new ChangeEvent(SpinNumber.this));
                    }
                }
                
                try {
                    sleep(interval);
                }
                catch (Exception e) {
                }
            }
        }
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久资源速度| 洋洋成人永久网站入口| av成人老司机| 日本成人在线网站| 中文字幕在线一区二区三区| 日韩亚洲欧美一区| 91在线播放网址| 国产一区二区导航在线播放| 亚洲成在人线在线播放| 国产精品国产三级国产专播品爱网| 欧美午夜在线观看| 99精品视频在线观看免费| 国产在线精品视频| 日韩精品成人一区二区在线| 亚洲视频精选在线| 最新不卡av在线| 中文字幕av不卡| 欧美日韩免费电影| 欧美视频一区在线| 911精品国产一区二区在线| 国产 欧美在线| 欧美一区二区三区视频免费 | 久久精品国产亚洲高清剧情介绍| 中文字幕巨乱亚洲| 国产精品久久久久久妇女6080| 久久影视一区二区| 久久精品夜夜夜夜久久| 中文一区在线播放| 中文字幕中文在线不卡住| 亚洲国产电影在线观看| 一区二区三区中文在线观看| **网站欧美大片在线观看| 国产女人aaa级久久久级 | 亚洲色图另类专区| 欧美国产一区在线| 亚洲欧美日韩在线不卡| 亚洲免费在线看| 亚洲一区二区三区四区在线观看| 亚洲图片欧美色图| 蜜臀91精品一区二区三区| 国产精品一区在线| 91在线云播放| 欧美日韩在线免费视频| 在线成人免费观看| 一本大道av一区二区在线播放| 在线观看视频一区二区 | 精品视频一区二区三区免费| 欧美人与性动xxxx| 久久综合av免费| 亚洲欧美另类小说| 免费高清成人在线| 不卡的av中国片| 欧美日韩黄色影视| 日本一区二区在线不卡| 亚洲愉拍自拍另类高清精品| 国产精品一线二线三线精华| 日本二三区不卡| 精品欧美一区二区三区精品久久| 亚洲人成7777| 国产在线不卡一卡二卡三卡四卡| 972aa.com艺术欧美| 午夜一区二区三区视频| 久久国内精品自在自线400部| 不卡电影一区二区三区| 欧美少妇性性性| 国产精品美女久久久久久久久| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品国产77777蜜臀| 欧洲另类一二三四区| 国产免费观看久久| 爽好久久久欧美精品| 91伊人久久大香线蕉| 久久婷婷成人综合色| 亚洲国产日韩a在线播放性色| 日本人妖一区二区| 91女神在线视频| 亚洲精品在线观看网站| 亚洲一区在线电影| 免费在线观看精品| 在线视频综合导航| 亚洲日本一区二区| 91免费在线视频观看| 中文字幕精品—区二区四季| 蜜桃传媒麻豆第一区在线观看| 欧美日韩一区二区三区四区五区| 国产精品免费免费| 男女男精品视频网| 91精品国产综合久久精品麻豆| 日韩毛片视频在线看| 一本色道久久综合亚洲91| 中文字幕va一区二区三区| 国产精品一区二区免费不卡| 久久久久久久综合| 激情欧美一区二区三区在线观看| 欧美撒尿777hd撒尿| 奇米四色…亚洲| 日韩一区二区三区av| 六月丁香婷婷久久| 国产日产欧美一区二区三区| 国产精品一品二品| 欧美国产综合色视频| 成a人片亚洲日本久久| 亚洲日本va午夜在线影院| 91小视频在线| 亚洲精品福利视频网站| 欧美三级视频在线观看| 午夜欧美视频在线观看| 在线电影一区二区三区| 久久成人免费日本黄色| 久久免费电影网| 免费在线一区观看| 2023国产精品视频| 成人18视频在线播放| 洋洋成人永久网站入口| 91网上在线视频| 亚洲综合无码一区二区| 水蜜桃久久夜色精品一区的特点| 欧美日韩和欧美的一区二区| 天天色综合成人网| 国产精品色眯眯| 99久久婷婷国产综合精品| 亚洲va欧美va国产va天堂影院| 欧美日韩aaa| 视频在线观看91| 亚洲麻豆国产自偷在线| 91精品国产综合久久国产大片| 不卡电影一区二区三区| 青青草91视频| 国产精品久久久久婷婷二区次| 欧美一区永久视频免费观看| 国产在线日韩欧美| 国产欧美精品一区aⅴ影院 | 日韩午夜小视频| 蜜臀久久99精品久久久久宅男| 欧美韩日一区二区三区四区| 在线观看日产精品| 污片在线观看一区二区| 亚洲欧美日本韩国| 欧美xxxxxxxxx| 欧美日韩免费一区二区三区视频 | 一区二区三区国产豹纹内裤在线| 成人av中文字幕| 久久精品国产亚洲高清剧情介绍 | 一区二区三区精品视频在线| 日韩欧美二区三区| 岛国av在线一区| 午夜激情一区二区| 成av人片一区二区| 国产精品久久久久久妇女6080| 欧美日韩成人高清| 在线观看视频一区二区| 成人永久看片免费视频天堂| 一区二区三区国产精华| 欧美国产精品中文字幕| 精品久久一区二区三区| 欧美亚洲动漫精品| 国产在线精品免费| 美女网站色91| 亚洲成av人影院| 综合激情成人伊人| 国产三区在线成人av| 日韩一区二区三区视频在线观看| 一本大道久久a久久精品综合| 国产成人综合网站| 久久精品国产99国产精品| 亚洲三级小视频| 成人免费在线视频观看| 国产欧美日韩在线观看| 色呦呦日韩精品| 高清shemale亚洲人妖| 久久黄色级2电影| 麻豆国产欧美日韩综合精品二区| 亚洲一区二区三区四区的| 一区二区三区中文字幕| 依依成人综合视频| 亚洲精品视频一区| 亚洲精品乱码久久久久久| 亚洲国产精品影院| 蜜臀av一区二区三区| 成人网在线免费视频| 色婷婷国产精品| 欧美一区日韩一区| 久久日韩粉嫩一区二区三区| 亚洲日本乱码在线观看| 奇米精品一区二区三区四区| 国产91精品露脸国语对白| 在线观看国产一区二区| 337p日本欧洲亚洲大胆色噜噜| 国产精品麻豆一区二区| 亚洲综合在线第一页| 狠狠色丁香久久婷婷综合_中 | 欧美欧美欧美欧美| 久久色.com| 亚洲自拍偷拍av| 国产一区二区女| 欧洲一区二区三区在线| 国产午夜精品福利| 日韩影院免费视频| 91免费国产在线观看| 精品国产一区二区三区av性色|