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

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

?? progress.java

?? anyview手機小說閱覽器的開源代碼
?? JAVA
字號:
package com.ismyway.anyview;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/**
 * <p>Title: AnyView</p>
 *
 * <p>Description: E680(I) Reader</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: www.ismyway.com</p>
 *
 * @author ZhangJian
 * @version 1.0
 */
public class Progress extends AbstractWindow {
    public final static int ANCHOR = Graphics.LEFT | Graphics.TOP;
    private int percent = 0; //保存的值
    protected byte[][] byteItems; //選項的字節數組形式
    protected Image windowImage; //保存當前圖體的Image對象
    private String[] items;

    protected Image selector;
    protected int itemIndex = 0;
    protected int selectedIndex = -1;
    protected boolean visible = true; //當前是否可見

    final static int HorPad = 10;
    final static int VecPad = 25;
    final static int LinePad = 5;
    final static int ShowItems = 10;

    /*protected Selector(String title) {
        this.title = title;
         }*/

    public Progress(int percent) {
        this.percent = percent;
        items = new String[] {"← 10% →", "← 5% →", "← 1% →", " 確  定 ", " 取  消 "};
        this.byteItems = new byte[items.length][];

        selectedIndex = 2;
        itemIndex = 2;

        //確定當前窗口的寬
        int max = 0;
        for (int i = 0; i < byteItems.length; i++) {
            byteItems[i] = AnyView.cf.str2bytes(items[i]);
            int c = byteItems[i].length;
            if (c >= max) {
                max = c;
            }
        }
        this.width = max * AnyView.cf.AsciiWidth + (HorPad << 1);

        //確定當前窗口的高
        this.height = items.length * (AnyView.cf.FontHeight + LinePad) -
                      LinePad + VecPad + HorPad;

        if (AnyView.readType == 1) { //橫屏
            this.LEFT = (AnyView.ScreenWidth - this.height) >> 1;
            this.TOP = (AnyView.ScreenHeight + this.width) >> 1;
        } else {
            this.LEFT = (AnyView.ScreenWidth - this.width) >> 1;
            this.TOP = (AnyView.ScreenHeight - this.height) >> 1;
        }
        this.LEFT = this.LEFT < 0 ? 0 : this.LEFT;
        this.TOP = this.TOP < 0 ? 0 : this.TOP;

        //準備顯示圖像
        prepare();
    }

    /**
     * 創建當前可顯示窗口的緩沖圖
     */
    protected void prepare() {
        Image img;
        selector = Image.createImage(width, height);
        Graphics g = selector.getGraphics();
        g.setColor(AnyView.background);
        g.fillRect(0, 0, width, height);
        g.setColor(AnyView.bordorcolor);
        g.drawRect(0, 0, width - 1, height - 1);
        g.drawLine(0, 20, width, 20);

        byte[] t = AnyView.cf.str2bytes("當前: " + percent + "%");
        int w = t.length * AnyView.cf.AsciiWidth;
        int h = AnyView.cf.FontHeight;
        int y = (20 - h) >> 1;
        int x = (width - w) >> 1;
        AnyView.cf.setColor(AnyView.titlecolor);
        img = AnyView.cf.buildImage(t);
        g.drawImage(img, x, y, ANCHOR);

        int top = VecPad;
        AnyView.cf.setColor(AnyView.fontcolor);

        int offset = 0;
        for (int i = 0; i < ShowItems && offset < byteItems.length; i++) {
            img = AnyView.cf.buildImage(byteItems[offset++]);
            g.drawImage(img, (width - img.getWidth()) >> 1, top, ANCHOR);
            top += AnyView.cf.FontHeight + LinePad;
        }
    }

    /**
     * 僅通過itemIndex、selectedIndex和itemPages來返回當前窗口
     * @return Image
     */
    public Image getWindow() {
        windowImage = null;
        windowImage = Image.createImage(width, height);
        Graphics g = windowImage.getGraphics();
        g.drawImage(selector, 0, 0, ANCHOR);

        if (itemIndex > -1) { //繪制選擇時背景
            int off = itemIndex;
            int y = VecPad + off * (CustomFont.FontHeight + LinePad) - 1;
            g.setStrokeStyle(Graphics.DOTTED);
            g.setColor(0xffffff);
            g.drawRoundRect(2, y, width - 5, CustomFont.FontHeight + 2, 8, 8);
        }

        //重繪標題欄
        g.setColor(AnyView.background);
        g.fillRect(1, 1, width - 2, 18);

        byte[] t = AnyView.cf.str2bytes("當前: " + percent + "%");
        int w = t.length * AnyView.cf.AsciiWidth;
        int h = AnyView.cf.FontHeight;
        int y = (20 - h) >> 1;
        int x = (width - w) >> 1;
        AnyView.cf.setColor(AnyView.titlecolor);
        Image img = AnyView.cf.buildImage(t);
        g.drawImage(img, x, y, ANCHOR);
        img = null;

        return windowImage;
    }

    public void destroy() {
        byteItems = null;
        //itemImage = null;
        windowImage = null;
        selector = null;
        System.gc();
        //System.out.println("destroy() " + Runtime.getRuntime().freeMemory());
    }

    public void move(int step) {
        if (byteItems == null || byteItems.length < 1) {
            return;
        }

        itemIndex += step;
        itemIndex = itemIndex < 0 ? byteItems.length - 1 : itemIndex;
        itemIndex = itemIndex > byteItems.length - 1 ? 0 : itemIndex;
    }

    public int getSelectedIndex() {
        return selectedIndex;
    }


    public void keyUp() {
        move( -1);
    }

    public void keyDown() {
        move(1);
    }

    public void keyLeft() {
        switch (itemIndex) {
        case 0:
            percent -= 10;
            percent = percent < 0 ? 0 : percent;
            break;
        case 1:
            percent -= 5;
            percent = percent < 0 ? 0 : percent;
            break;
        case 2:
            percent--;
            percent = percent < 0 ? 0 : percent;
            break;
        }
    }

    public void keyRight() {
        switch (itemIndex) {
        case 0:
            percent += 10;
            percent = percent > 100 ? 100 : percent;
            break;
        case 1:
            percent += 5;
            percent = percent > 100 ? 100 : percent;
            break;
        case 2:
            percent++;
            percent = percent > 100 ? 100 : percent;
            break;
        }
    }

    public int getCurrentValue() {
        return percent;
    }

    public void keyFire() {
        selectedIndex = itemIndex;
        visible = false;
    }

    public boolean bof() {
        return false;
    }

    public boolean getVisible() {
        return visible;
    }

    protected void pointerPressed(int x, int y) {
        super.pointerPressed(x, y);

        if (!contains(PRESSED_X, PRESSED_Y)) {
            //WINDOW_STATE = CLOSED;
            return;
        }

        //判斷用戶當前的選擇項
        int find = -1;
        for (int i = 0; i < items.length && find == -1; i++) {
            int top = VecPad + i * (CustomFont.FontHeight + LinePad) - 1;
            if (PRESSED_Y > top && PRESSED_Y < top + CustomFont.FontHeight) {
                find = i;
                itemIndex = i;
                //System.out.println("pressed: itemIndex = " + itemIndex);
            }
        }

    }

    protected void pointerDragged(int x, int y) {

    }

    protected void pointerReleased(int x, int y) {
        TOUCH_EVENT = false;
        super.pointerReleased(x, y);

        if (!contains(RELEASE_X, RELEASE_Y) && !contains(PRESSED_X, PRESSED_Y)) {
            WINDOW_STATE = CLOSED;
            return;
        }

        //判斷用戶當前的選擇項
        int find = -1;
        for (int i = 0; i < items.length && find == -1; i++) {
            int top = VecPad + i * (CustomFont.FontHeight + LinePad) - 1;
            if (RELEASE_Y > top && RELEASE_Y < top + CustomFont.FontHeight) {
                find = i;
                //System.out.println("released: find = " + find);
            }
        }

        if (find == -1) {
            return;
        }

        if (find == itemIndex) { //用戶確認選擇功能
            TOUCH_EVENT = true;
            boolean left = RELEASE_X < width >> 1;
            if (find == 3 || find == 4) {
                keyFire();
            } else {
                if (left) {
                    keyLeft();
                } else {
                    keyRight();
                }
            }
        }

        else {
            itemIndex = find;
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美视频在线观看| 欧美吞精做爰啪啪高潮| 91一区一区三区| 日韩一区二区免费视频| 一区二区三区在线免费播放| 韩国v欧美v亚洲v日本v| 欧美日韩免费视频| 亚洲欧洲制服丝袜| 成人av在线看| 国产精品麻豆欧美日韩ww| 免费的成人av| 日韩一区二区视频在线观看| 亚洲一区av在线| 色噜噜狠狠色综合欧洲selulu| 国产日韩影视精品| 国产专区欧美精品| 欧美tk丨vk视频| 午夜久久电影网| 欧美精品成人一区二区三区四区| 亚洲欧美日韩久久精品| 成人av在线播放网站| 国产欧美精品国产国产专区 | 一区二区三区中文字幕在线观看| 国模娜娜一区二区三区| 精品久久久久香蕉网| 亚洲成人精品在线观看| 欧美日韩另类一区| 亚洲一区二区三区四区五区黄 | 日韩欧美二区三区| 亚洲一区在线免费观看| 欧美日韩精品一区二区三区| 亚洲一区av在线| 欧美久久久久久蜜桃| 日本一区中文字幕| 日韩欧美一二三区| 国产高清精品在线| 国产精品国产自产拍高清av王其| av一区二区不卡| 一区二区三区日韩欧美精品| 欧美伊人久久大香线蕉综合69 | 中文字幕一区二区三区视频| 成人性生交大片免费| 亚洲欧洲另类国产综合| 欧美综合在线视频| 天天免费综合色| 欧美变态tickle挠乳网站| 国产在线视频一区二区三区| 国产人伦精品一区二区| 成人精品免费看| 一区二区三区欧美在线观看| 欧美精品日韩精品| 久久成人免费网| 国产精品嫩草影院com| 91麻豆蜜桃一区二区三区| 亚洲第一av色| 久久亚洲春色中文字幕久久久| 大陆成人av片| 亚洲成人免费在线观看| 久久久久久久久久久久电影 | 亚洲精品成人a在线观看| 欧美色视频在线观看| 国产美女精品一区二区三区| 中文字幕一区二区三区在线观看| 91成人免费在线视频| 欧美aaa在线| 国产精品麻豆久久久| 欧美日韩国产美| 成人久久18免费网站麻豆| 一区二区三区在线播| 91精品欧美久久久久久动漫 | 欧美久久一区二区| 成人精品亚洲人成在线| 日韩电影免费一区| 中文字幕亚洲一区二区va在线| 欧美日韩国产bt| 成人性生交大合| 美女诱惑一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美电视剧在线观看完整版| 99re热这里只有精品免费视频| 男男成人高潮片免费网站| 最新久久zyz资源站| 2023国产精华国产精品| 7777精品伊人久久久大香线蕉超级流畅 | 久久精品免视看| 欧美日韩精品电影| 99视频精品在线| 国产在线精品一区在线观看麻豆| 麻豆精品蜜桃视频网站| 亚洲国产欧美日韩另类综合| 国产欧美一区二区三区网站| 欧美成人激情免费网| 欧美手机在线视频| 91小视频在线| 99久久精品免费看| 成人免费电影视频| 国产精品一区二区91| 捆绑变态av一区二区三区| 亚洲一区在线观看视频| 一区二区三区四区精品在线视频| 中文字幕不卡的av| 久久精品欧美日韩精品| 久久亚洲一区二区三区明星换脸| 欧美一级片在线看| 51精品久久久久久久蜜臀| 欧美午夜一区二区| 欧美性色综合网| 在线观看网站黄不卡| 色菇凉天天综合网| 色伊人久久综合中文字幕| 972aa.com艺术欧美| 色综合天天综合色综合av| 99re热视频精品| 在线中文字幕不卡| 欧美最猛黑人xxxxx猛交| 欧美午夜免费电影| 欧美三级中文字| 欧美日本国产视频| 欧美成人精品福利| 欧美激情一区二区三区四区| 中文字幕国产一区二区| 1000部国产精品成人观看| 一区二区三区免费看视频| 香蕉加勒比综合久久| 美女www一区二区| www.成人在线| 成人av在线资源网| 欧美性一级生活| 555夜色666亚洲国产免| 日韩欧美国产精品| 国产欧美久久久精品影院| 成人欧美一区二区三区| 亚洲超碰97人人做人人爱| 麻豆精品国产传媒mv男同| 国产在线视频精品一区| av亚洲精华国产精华精| 欧美日韩综合不卡| 欧美mv日韩mv国产网站| 国产精品电影一区二区| 天天做天天摸天天爽国产一区| 日韩精品久久久久久| 国产乱人伦偷精品视频免下载| 不卡的av中国片| 在线成人av影院| 国产欧美日韩视频在线观看| 亚洲欧美自拍偷拍| 日日夜夜精品视频天天综合网| 国产精品一区二区黑丝| 欧美色偷偷大香| 久久精品视频免费观看| 亚洲免费在线观看视频| 狠狠色狠狠色综合| 色婷婷亚洲综合| 精品日韩av一区二区| 一区二区三区在线免费播放| 岛国一区二区在线观看| 奇米精品一区二区三区在线观看 | 青娱乐精品视频| 中文字幕亚洲成人| 秋霞国产午夜精品免费视频| k8久久久一区二区三区 | 亚洲不卡av一区二区三区| 韩国视频一区二区| 在线精品视频一区二区三四| 久久亚洲精品国产精品紫薇| 亚洲第四色夜色| 99精品久久99久久久久| 26uuu另类欧美| 五月天激情综合网| 国产91精品露脸国语对白| 日韩亚洲欧美高清| 亚洲高清视频中文字幕| 99久久精品国产一区二区三区| 精品少妇一区二区三区在线播放| 亚洲成人在线免费| 色久综合一二码| 国产精品欧美综合在线| 国产在线精品一区二区不卡了| 欧美高清视频在线高清观看mv色露露十八| 国产精品网站在线| 国产麻豆视频一区二区| 日韩色在线观看| 日韩电影在线一区二区| 91福利视频网站| 亚洲欧洲综合另类| 色综合一区二区三区| 国产精品久久久久久久久免费桃花| 精品一区二区三区在线播放视频| 欧美三级日韩在线| 亚洲精品欧美在线| 91在线丨porny丨国产| 国产精品久久久久永久免费观看| 国产精品影视网| 国产日产精品1区| 国产不卡视频一区二区三区| 国产欧美精品一区| 成人黄色在线视频| 亚洲欧洲日韩女同| 色综合久久综合网97色综合 | 日本一区二区三区在线观看|