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

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

?? menu.java

?? 手機郵箱撒的方式方式方式的
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        // clear tab body
        g.setColor(FILL_COLOR);
        g.fillRect(0, menuPadding + tabHeight + 2, width, height - menuPadding - tabHeight - 2);

        // if it is necessary to display a vertical scrollbar
        g.translate(0, menuPadding + tabHeight + menuPadding + 2);
        short scrollStep, minStep/*, currScroll*/;

        if (maxTabs < MAX_TABS) {
            clientHeight -= 5;
            minStep = 10;
            scrollStep = (short) ((clientWidth) / (MAX_TABS - maxTabs + 1));

            g.setColor(SCROLLBAR_BGCOLOR);
            g.fillRect(menuPadding, clientHeight, clientWidth, 2);
            if (scrollStep < minStep) {
                scrollStep = (short) ((clientWidth - minStep) / (MAX_TABS - maxTabs));
                g.setColor(SCROLLBAR_COLOR);
                g.fillRect(menuPadding + firstTab * scrollStep, clientHeight, minStep, 2);
            } else {
                g.setColor(SCROLLBAR_COLOR);
                g.fillRect(menuPadding + firstTab * scrollStep, clientHeight, scrollStep, 2);
            }
        }

        // if it is necessary to display a horizontal scrollbar
        short itemCount = (short) tabs[currTab].item.size();
        short maxDsplItems = getMaxItems();
        if (maxDsplItems < itemCount) {
            scrollStep = (short) ((clientHeight) / (itemCount - maxDsplItems + 1));
            minStep = 10;
            clientWidth -= 3;

            g.setColor(SCROLLBAR_BGCOLOR);
            g.fillRect(2 * menuPadding + clientWidth, 0, 2, clientHeight);
            if (scrollStep < minStep) {
                scrollStep = (short) ((clientHeight - minStep) / (itemCount - maxDsplItems));
                g.setColor(SCROLLBAR_COLOR);
                g.fillRect(2 * menuPadding + clientWidth, firstItem * scrollStep, 2, minStep);
            } else {
                g.setColor(SCROLLBAR_COLOR);
                g.fillRect(2 * menuPadding + clientWidth, firstItem * scrollStep, 2, scrollStep);
            }
        }

        // draw menu items
        int x = 0;
        int y = 0;
        for (short j = 0; j < maxDsplItems; j++) {
            short itemID = (short) ((firstItem + j) % itemCount);
            MenuItem mi = (MenuItem) (tabs[currTab].item.elementAt(itemID));
            // if item is not selected
            if (itemID != currItem) {
                g.setColor(FONT_COLOR);
            } else {
                g.setColor(OUTLINE_COLOR);
                // try to draw a one-line rectangle if value of the item is null
                if (mi.value == null) {
                    g.fillRoundRect(menuPadding, y, clientWidth, fontHeight, 4, 4);
                } // else draw a two-line rectangle
                else {
                    g.fillRoundRect(menuPadding, y, clientWidth, 2 * fontHeight, 4, 4);
                }

                g.setColor(FILL_COLOR);
            }

            // item now fits to the display
            if (mi.img != null) {
                x += menuPadding + 1;
                g.drawImage(mi.img, x, y + (fontHeight - mi.img.getHeight()) / 2, Graphics.TOP | Graphics.LEFT);
                x += mi.img.getWidth() + 2;
            }

            // draw name and value
            if (mi.name != null) {
                g.setFont(getFirstLineFont());
                byte offset = (byte) (x + 3);
                // scrollbar
                if (maxDsplItems < itemCount) {
                    offset += 3;
                }
                // actionkey numbers
                if (poundPressed) {
                    offset += g.getFont().charWidth('m');
                }
                if (g.getFont().stringWidth(mi.name) < clientWidth - offset) {
                    g.drawString(mi.name, x + 2, y + fontHeight, Graphics.BOTTOM | Graphics.LEFT);
                } // name does not fit to the screen 
                else {

                    if (itemID == currItem) {
                        //init TickerTask						
                        if (timer == null) {
                            timer = new Timer();
                            timer.schedule(new TickerTask(), 250, 100);
                        }
                        if (!sStarted) {
                            sStarted = true;
                            tickerText1 = mi.name;
                            //lets fill the tickerText1 with half of display of spaces
                            short space = (short) (width / (2 * g.getFont().charWidth(' ')));
                            for (short i = 0; i < space; i++) {
                                tickerText1 += ' ';
                            }
                            String nameSubstr = Functions.cutString(mi.name, sindex, clientWidth - offset - g.getFont().stringWidth(".."), g).trim() + "..";
                            g.drawString(nameSubstr, x + 2, y + fontHeight, Graphics.BOTTOM | Graphics.LEFT);
                        } else {
                            Functions.Ticker(tickerText1, sindex, x + 2, y + fontHeight, clientWidth - 3, g, Graphics.BOTTOM | Graphics.LEFT);
                            sindex = (short) ((sindex + 1) % tickerText1.length());
                        }
                    } else {// item is not selected so don't move												
                        String nameSubstr = Functions.cutString(mi.name, 0, clientWidth - offset - g.getFont().stringWidth(".."), g).trim() + "..";
                        g.drawString(nameSubstr, x + 2, y + fontHeight, Graphics.BOTTOM | Graphics.LEFT);
                    }
                }

                // draw actionkey number if a pound key is pressed
                if (mi.actionKey != -1 && poundPressed) {
                	if (Settings.fontSize == Settings.FONT_NORMAL) {
                		g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL));
                	}
                	else {
                		g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE));
                	}
                	g.drawString(String.valueOf(itemID + 1), clientWidth, y + (fontHeight + g.getFont().getHeight()) / 2, Graphics.BOTTOM | Graphics.RIGHT);
                }

                // draw value on the second line
                y += fontHeight;
                if (poundPressed) {
                    offset -= g.getFont().charWidth('m');
                }
                if (mi.value != null) {
                    g.setFont(getSecondLineFont());
                    if (g.getFont().stringWidth(mi.value) < clientWidth - offset) {
                        g.drawString(mi.value, 2, y + fontHeight - 2, Graphics.BOTTOM | Graphics.LEFT);
                    } // value does not fit to the screen, so move
                    else {

                        if (itemID == currItem) {
                            // init TickerTask
                            if (timer == null) {
                                timer = new Timer();
                                timer.schedule(new TickerTask(), 250, 100);
                            }
                            if (!aStarted) {
                                aStarted = true;
                                tickerText2 = mi.value;
                                //lets fill the tickerText1 with half of display of spaces
                                short space = (short) (width / (2 * g.getFont().charWidth(' ')));
                                for (short i = 0; i < space; i++) {
                                    tickerText2 += ' ';
                                }
                                String valueSubstr = Functions.cutString(mi.value, aindex, clientWidth - offset - g.getFont().stringWidth(".."), g).trim() + "..";
                                g.drawString(valueSubstr, 2, y + fontHeight - 2, Graphics.BOTTOM | Graphics.LEFT);
                            } else { //doing the effect, moving to the left
                                Functions.Ticker(tickerText2, aindex, 2, y + fontHeight - 2, clientWidth - 3, g, Graphics.BOTTOM | Graphics.LEFT);
                                aindex = (short) ((aindex + 1) % tickerText2.length());
                            }

                        } else {
                            String valueSubstr = Functions.cutString(mi.value, 0, clientWidth - offset - g.getFont().stringWidth(".."), g).trim() + "..";
                            g.drawString(valueSubstr, 2, y + fontHeight, Graphics.BOTTOM | Graphics.LEFT);
                        }
                    }
                    y += fontHeight;
                }
            }
            x = 0;
        } /* while */


        // transform axis back to [0, 0] position
        g.translate(0, -menuPadding - tabHeight - menuPadding - 2);
    }

    //#ifdef MUJMAIL_TOUCH_SCR
    protected void pointerPressed(int x, int y) {
        super.pointerPressed(x, y);
        
        if (DEBUG) { System.out.println("Pointer pressed: " + x + "; " + y); }
        pointerEventTransformer.pointerPressed(x, y);
    }
    //#endif
    
    

    /**
     * Reacts on keys pressed.
     * @param keyCode - a code of key pressed.
     */
    protected synchronized void keyPressed(int keyCode) {

        // process a NUM pad keys that are mostly used as shortcuts
//        boolean has = hasRepeatEvents();
        switch (keyCode) {
            case KEY_STAR:
                if (actionKeyTask != null) {
                    actionKeyTask.cancel();
                    actionKeyTask = null;
                }
                if (starPressed) {
                    starPressed = false;
                } else {
                    starPressed = true;
                    if (timer == null) {
                        timer = new Timer();
                    }

                    actionKeyTask = new ActionKeyTask();
                    timer.schedule(actionKeyTask, 3000);
                }

                poundPressed = false;
                repaint();
                break;

            case KEY_POUND:
                if (actionKeyTask != null) {
                    actionKeyTask.cancel();
                    actionKeyTask = null;
                }
                if (poundPressed) {
                    poundPressed = false;
                } else {
                    poundPressed = true;
                    if (timer == null) {
                        timer = new Timer();
                    }
                    actionKeyTask = new ActionKeyTask();
                    timer.schedule(actionKeyTask, 3000);
                }

                starPressed = false;
                repaint();
                break;

            case KEY_NUM1:
            case KEY_NUM2:
            case KEY_NUM3:
            case KEY_NUM4:
            case KEY_NUM5:
            case KEY_NUM6:
            case KEY_NUM7:
            case KEY_NUM8:
            case KEY_NUM9:
                // interval between pressing the STAR button and the following button is limited to 3 second
                if (starPressed) {
                    if (keyCode - 49 < MAX_TABS) {
                        starPressed = false;
                        poundPressed = false;
                        setSelectedTab((byte) (keyCode - 49));
                    }
                    return;
                }

                if (poundPressed) {
                    if (keyCode - 49 < tabs[currTab].item.size()) {
                        starPressed = false;
                        poundPressed = false;
                        setSelectedItem((short) (keyCode - 49));
                        commandAction(null, this);
                    }
                    return;
                }
                starPressed = false;
                poundPressed = false;
                repaint();

                break;
        }

        int gameAction = getGameAction(keyCode);
        if (gameAction == UP || gameAction == DOWN || gameAction == RIGHT || gameAction == LEFT) {
            starPressed = false;
            poundPressed = false;
        }

        switch (getGameAction(keyCode)) {
            case UP:
                upPressedAction();
                break;

            case DOWN:
                downPressedAction();
                break;

            case RIGHT:
                rightPressedAction();
                break;

            case LEFT:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影一区二区三区| 奇米精品一区二区三区在线观看一| 欧美mv日韩mv亚洲| 91精品国产一区二区三区| 欧洲一区二区av| 欧美日韩综合色| 欧美精品久久天天躁| 69av一区二区三区| 日韩精品影音先锋| 久久精品视频一区二区| 国产三级精品视频| 国产精品国产馆在线真实露脸| 中文字幕av一区二区三区高| 国产精品人妖ts系列视频| 国产精品国产三级国产aⅴ原创| **性色生活片久久毛片| 一区二区久久久| 亚洲成av人在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 玖玖九九国产精品| 国产激情一区二区三区| av一二三不卡影片| 欧美日韩一区二区三区四区| 日韩一区二区三区视频| 久久欧美中文字幕| 亚洲天堂成人网| 偷拍一区二区三区四区| 久久99精品久久久久久动态图 | 国产精品家庭影院| 一区二区三区在线免费视频| 日韩制服丝袜先锋影音| 韩国午夜理伦三级不卡影院| 成人午夜激情影院| 欧美日本国产视频| 久久先锋影音av| 亚洲欧美激情在线| 免费不卡在线观看| 成人av综合在线| 欧美理论在线播放| 久久精品男人天堂av| 一区二区三区四区乱视频| 看国产成人h片视频| 成人精品国产福利| 4hu四虎永久在线影院成人| 国产欧美精品区一区二区三区| 亚洲一区二区三区四区的| 激情图区综合网| 欧美在线free| 国产午夜亚洲精品理论片色戒| 一区二区三区成人在线视频| 久久爱另类一区二区小说| 成人国产亚洲欧美成人综合网| 欧美精品久久久久久久久老牛影院 | 精品视频123区在线观看| 久久久久久久久久久久久久久99| 亚洲自拍偷拍欧美| 国产精品99久久久久久久女警| 欧美视频中文字幕| 国产精品天天看| 久久99国产精品免费网站| 在线观看三级视频欧美| 国产日韩欧美一区二区三区乱码| 婷婷综合久久一区二区三区| 成人国产精品免费观看动漫| 欧美电影免费观看完整版| 一区二区免费视频| proumb性欧美在线观看| 久久综合av免费| 蜜臀久久久99精品久久久久久| 色视频成人在线观看免| 国产欧美日韩中文久久| 久久精品国产亚洲a| 欧美最猛黑人xxxxx猛交| 国产精品美日韩| 国产河南妇女毛片精品久久久| 欧美日韩日日摸| 国产精品久久久久久久久快鸭 | 成人国产精品免费| 久久综合成人精品亚洲另类欧美 | 蜜桃久久久久久| 精品污污网站免费看| 亚洲特黄一级片| 国产aⅴ综合色| 久久综合九色综合久久久精品综合| 亚洲大片一区二区三区| 色av综合在线| 亚洲视频网在线直播| 成人97人人超碰人人99| 中文字幕欧美日本乱码一线二线 | 欧美性极品少妇| 综合激情网...| 播五月开心婷婷综合| 精品播放一区二区| 极品美女销魂一区二区三区免费| 91精品国产入口| 日韩黄色一级片| 日韩一区二区免费在线电影| 石原莉奈在线亚洲二区| 欧美亚洲尤物久久| 视频一区二区三区中文字幕| 欧美精品18+| 六月丁香婷婷色狠狠久久| 欧美一区二区三区人| 另类小说色综合网站| 精品精品国产高清一毛片一天堂| 精品一区二区三区在线播放 | 亚洲卡通欧美制服中文| 91免费观看视频在线| 亚洲男人电影天堂| 欧美亚洲综合色| 天天亚洲美女在线视频| 欧美一级xxx| 国产真实乱子伦精品视频| 久久久久久免费毛片精品| 国产传媒久久文化传媒| 亚洲欧美综合网| 欧美三级日本三级少妇99| 日韩精品乱码av一区二区| 精品国产乱码久久久久久浪潮| 国产乱对白刺激视频不卡| 国产精品国产馆在线真实露脸 | 不卡av免费在线观看| 一区二区理论电影在线观看| 欧美男生操女生| 蜜桃av一区二区在线观看| 国产欧美一区二区精品性色| 91香蕉视频mp4| 天天综合日日夜夜精品| 精品国产免费视频| 成人app在线| 日韩国产高清影视| 久久精品亚洲麻豆av一区二区 | 欧美日本在线视频| 久久精品99国产国产精| 国产三级精品三级| 欧美特级限制片免费在线观看| 免费观看一级特黄欧美大片| 国产日韩精品视频一区| 欧美影院一区二区| 激情小说亚洲一区| 亚洲免费视频中文字幕| 日韩一区二区三区视频在线 | 国产精品国产三级国产普通话三级 | 欧洲人成人精品| 国产一区在线观看视频| 亚洲精品乱码久久久久久黑人| 91麻豆精品91久久久久久清纯 | 日韩欧美不卡一区| 成人av影视在线观看| 午夜精品在线看| 欧美国产一区视频在线观看| 欧美视频在线一区| 成人亚洲一区二区一| 日韩av不卡在线观看| 中文字幕中文字幕一区二区| 欧美乱妇20p| av午夜一区麻豆| 韩国av一区二区三区四区| 亚洲日本va午夜在线影院| 日韩视频免费观看高清完整版 | 欧美一区二区三区男人的天堂| 丰满放荡岳乱妇91ww| 日韩电影在线观看电影| 亚洲视频一区二区在线| 精品不卡在线视频| 欧美丰满美乳xxx高潮www| 91色在线porny| 国产成人综合精品三级| 日韩精品一二三| 艳妇臀荡乳欲伦亚洲一区| 国产日韩成人精品| 欧美mv日韩mv国产网站| 欧美日韩一区不卡| 91麻豆精东视频| 成人一区二区三区视频 | 欧美三级电影网| 91美女片黄在线观看91美女| 国产精品一区二区久久精品爱涩| 亚洲一区av在线| 亚洲日本欧美天堂| 国产精品国产三级国产aⅴ原创| 精品日韩一区二区三区免费视频| 欧美三级中文字| 日本韩国欧美在线| 不卡电影免费在线播放一区| 国产91精品免费| 国产成人亚洲精品狼色在线| 久久aⅴ国产欧美74aaa| 丝袜国产日韩另类美女| 亚洲自拍偷拍av| 亚洲一区二区视频在线观看| 日韩理论片在线| 亚洲欧美色一区| **网站欧美大片在线观看| 中文字幕av不卡| 1024成人网色www| 最新热久久免费视频| 国产精品人人做人人爽人人添| 国产欧美日韩综合精品一区二区| 久久久精品国产免大香伊 |