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

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

?? typetrainapplet.java

?? Applet小游戲 附件是我自己做的一個打字游戲,其中用到了java的多線程, 打開play.html 即可看到游戲畫面. 其源代碼中的四個applet 參數: <param
?? JAVA
字號:
package game;import java.awt.*;import java.awt.event.*;import java.applet.*;import java.util.Random;import javax.swing.*;public class TypeTrainApplet extends JApplet {    private boolean isStandalone = false;    boolean isClose = false;    AudioClip hitSound;//惡柧壒澚\u5BF9徾    ImageIcon startIcon = new ImageIcon(TypeTrainApplet.class.getResource("start.jpg"));    ImageIcon pauseIcon = new ImageIcon(TypeTrainApplet.class.getResource("pause.jpg"));    ImageIcon stopIcon = new ImageIcon(TypeTrainApplet.class.getResource("stop.jpg"));    volatile int totalCount = 0;//totalNumber Counter    volatile int rightCount = 0;//rightNumber Counter    volatile int errorCount = 0;//errorNumber Counter    int stepLen;    int stepInterval;    int columNum;    int createInterval;    int colWidth;    volatile char pressKeyChar;    int statusCode = 0; //\u8BB0\u5F55熰\u620F強\u5904揑忬\u6001丆懘拞1丗\u8FD0峴\u6001丄丆2丗\u6682掆\u6001 0丗掆巭\u6001丅    private JPanel infoPnl = new JPanel();    private GridLayout gridLayout1 = new GridLayout();    private JButton jButton1 = new JButton();    private JButton jButton2 = new JButton();    private JLabel totalLbl_1 = new JLabel();    private JLabel totalLbl_2 = new JLabel();    private JLabel rightLbl_1 = new JLabel();    private JLabel errorLbl_2 = new JLabel();    private JLabel rightLbl_2 = new JLabel();    private JLabel errorLbl_1 = new JLabel();    private Canvas canvas = new Canvas();    //Get a parameter value    public String getParameter(String key, String def) {        return isStandalone ? System.getProperty(key, def) :            (getParameter(key) != null ? getParameter(key) : def);    }    //Construct the applet    public TypeTrainApplet() {    }    //Initialize the applet    public void init() {        hitSound = getAudioClip( (TypeTrainApplet.class).getResource("click1.wav"));//弶巒壔壒澚\u5BF9徾        try {            stepLen = Integer.parseInt(this.getParameter("stepLen", "2"));        }        catch(Exception e) {            e.printStackTrace();        }        try {            stepInterval = Integer.parseInt(this.getParameter("stepInterval", "50"));        }        catch(Exception e) {            e.printStackTrace();        }        try {            columNum = Integer.parseInt(this.getParameter("columNum", "10"));        }        catch(Exception e) {            e.printStackTrace();        }        try {            createInterval = Integer.parseInt(this.getParameter("createInterval", "500"));        }        catch(Exception e) {            e.printStackTrace();        }        try {            jbInit();        }        catch(Exception e) {            e.printStackTrace();        }    }    //Component initialization    private void jbInit() throws Exception {        this.setSize(new Dimension(400, 400));        this.addKeyListener(new java.awt.event.KeyAdapter() {            public void keyReleased(KeyEvent e) {                this_keyReleased(e);            }        });        infoPnl.setLayout(new GridLayout(8, 1));        jButton1.setIcon(startIcon);        jButton1.setBackground(Color.white);        jButton1.setToolTipText("Start/Pause");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(ActionEvent e) {                jButton1_actionPerformed(e);            }        });//\u8BBE抲\u5F00巒埪\u94AE揑\u56FE\u6807        jButton2.setIcon(stopIcon);        jButton2.setToolTipText("Stop");        jButton2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(ActionEvent e) {                jButton2_actionPerformed(e);            }        });        jButton2.setBackground(Color.white);        jButton2.setEnabled(false);//       // jButton1.setText("jButton1");       // jButton2.setText("jButton2");       // jButton3.setText("jButton3");        totalLbl_1.setForeground(new Color(131, 72, 105));        totalLbl_1.setText("鉦澤");        totalLbl_2.setForeground(new Color(131, 79, 105));        totalLbl_2.setText("jLabel2");        rightLbl_1.setForeground(new Color(118, 72, 105));        rightLbl_1.setText("惓妋澤");        errorLbl_2.setForeground(new Color(118, 72, 105));        errorLbl_2.setText("jLabel4");        rightLbl_2.setForeground(new Color(118, 72, 105));        rightLbl_2.setText("jLabel5");        errorLbl_1.setForeground(new Color(118, 72, 105));        errorLbl_1.setText("幐攕澤");        canvas.setBackground(new Color(197, 217, 158));        canvas.setForeground(new Color(112, 85, 217));        infoPnl.setBackground(new Color(203, 243, 164));        infoPnl.setBounds(0,0,24,400);        this.getContentPane().add(infoPnl,  BorderLayout.EAST);        infoPnl.add(jButton1, null);        infoPnl.add(jButton2, null);        infoPnl.add(totalLbl_1, null);        infoPnl.add(totalLbl_2, null);        infoPnl.add(rightLbl_1, null);        infoPnl.add(rightLbl_2, null);        infoPnl.add(errorLbl_1, null);        infoPnl.add(errorLbl_2, null);        this.getContentPane().add(canvas, BorderLayout.CENTER);    }    // reDisplay the result    private void drawResult() {        totalLbl_2.setText("" + totalCount );        rightLbl_2.setText("" + rightCount );        errorLbl_2.setText("" + errorCount );    }    // clear counters    private void resetGame() {        totalCount = 0;        rightCount = 0;        errorCount = 0;        drawResult();    }    //Start the applet    public void start() {        isClose = false;    }    //Stop the applet    public void stop() {        statusCode = 0;//掆巭熰\u620F        isClose = true;    }    //Destroy the applet    public void destroy() {    }    //Get Applet information    public String getAppletInfo() {        return "Applet Information";    }    //Get parameter info    public String[][] getParameterInfo() {        String[][] pinfo =            {            {"stepLen", "int", ""},            {"stepInterval", "int", ""},            {"columNum", "int", ""},            {"createInterval", "int", ""},            };        return pinfo;    }    //static initializer for setting look & feel    static {        try {            //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());            //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());        }        catch(Exception e) {        }    }    private class DropCharThread extends Thread {        char c; //the player iputted char        int colIndex;        int x, y;        private static final int ACTION_DRAW_FONT = 1; //夋帤晞        private static final int ACTION_CLEAR_FONT = 2; //惔帤晞        public DropCharThread(char c, int colIndex) {            this.c = c;            this.colIndex = colIndex;            this.x = (colIndex - 1) * colWidth + colWidth / 2;        }        public void run() {            if(isClose) return ;//\u53D1\u73B0鈞岥\u5173\u95ED\u9A6C忋曉夞            draw(ACTION_DRAW_FONT);            try {                while (c != pressKeyChar && y < canvas.getHeight() && statusCode != 0) {                    synchronized (canvas) {                        while (statusCode == 2) {                            canvas.wait();                        }                    }                    draw(ACTION_CLEAR_FONT);                    y += stepLen;                    draw(ACTION_DRAW_FONT);                    Thread.sleep(stepInterval);                }            } catch (InterruptedException ex) {                ex.printStackTrace();            }            if(!isClose) {                pressKeyChar = ' ';                draw(ACTION_CLEAR_FONT);                if (statusCode != 0) {//熰\u620F杤桳掆巭                    totalCount++; //\u7EDF\u8BA1\u603B悢                    if (y < canvas.getHeight()) {                        hitSound.play();//\u51FB拞\u65F6攄曻壒澚                        rightCount++; //\u51FB拞                    } else {                        errorCount++; //懪晄拞                    }                    drawResult();                }            }        }        private void draw( int actionType ) {            synchronized( canvas ) {                Graphics g = canvas.getGraphics();                if ( actionType == ACTION_CLEAR_FONT ) {                    g.setXORMode(canvas.getBackground());                }                g.setFont(new Font("Times New Roman", Font.PLAIN, 20));                g.drawString("" + c, x, y);            }        }    }    private class GenerateDropThread extends Thread {        Random random = new Random(); //悘婘悢        public void run() {            try {                while(statusCode!=0){                    synchronized(canvas){                        while(statusCode==2){                            canvas.wait();                        }                    }                    DropCharThread dropCharThread = new DropCharThread(                         getRandomChar(),random.nextInt(columNum) + 1);                    dropCharThread.start();                    Thread.sleep(createInterval);                }            } catch (InterruptedException ex) {                ex.printStackTrace();            }        }        private char getRandomChar() {            int temp = 65 + random.nextInt(26);            return (char) temp;        }    }    public void this_keyReleased(KeyEvent e) {        if (!e.isActionKey()) {            int iChar;            iChar = (int)e.getKeyCode();            if( iChar > 90 ) {                iChar = iChar - 32;            }            pressKeyChar = (char)iChar;        }    }    public void jButton1_actionPerformed(ActionEvent e) {        if(statusCode == 0) {            resetGame();            statusCode = 1;            colWidth = canvas.getWidth() / columNum ;            GenerateDropThread gdThread = new GenerateDropThread();            gdThread.start();//\u4EA7惗婍\u542F\u52A8            jButton1.setIcon(pauseIcon);//愗\u6362\u4E3A\u6682掆揑\u56FE\u6807            jButton2.setEnabled(true);//掆巭埪\u94AE寖妶        } else if (statusCode == 1) { //樃\u8FD0峴-亜\u6682掆            statusCode = 2;            jButton1.setIcon(startIcon);        } else { //樃\u6682掆亅亜\u8FD0峴            statusCode = 1;            jButton1.setIcon(pauseIcon);//愗\u6362\u4E3A\u6682掆揑\u56FE\u6807            synchronized (canvas) {//捠\u8FC7canvas捠抦強桳\u6682掆揑\u7EBF掱\u7EE7\u7EED\u8FD0峴                canvas.notifyAll();            }        }        this.requestFocus();//Applet愙庴岝\u6807丆埲曋懘愙庴埪\u952E帠審    }    void jButton2_actionPerformed(ActionEvent e) {        statusCode = 0;        synchronized (canvas) {            canvas.notifyAll();        }        jButton2.setEnabled(false);        jButton1.setIcon(startIcon);    }    public static void main( String[] args){        TypeTrainApplet tta = new TypeTrainApplet();        tta.init();        tta.start();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本人妖一区二区| 麻豆精品视频在线观看视频| 日韩无一区二区| 欧美色老头old∨ideo| 日本道精品一区二区三区| 99re8在线精品视频免费播放| 国产成人aaa| 色综合夜色一区| 日韩欧美国产成人一区二区| 国产 欧美在线| 欧美日韩一区久久| 94-欧美-setu| 国产精品久久久久一区| 久久众筹精品私拍模特| 国产婷婷色一区二区三区| 亚洲欧美在线另类| 国产一区二区三区在线看麻豆| aaa欧美日韩| 91免费观看视频在线| 欧美日韩国产三级| 精品国内二区三区| 中文字幕一区二区三区色视频| 看电视剧不卡顿的网站| 成人av网站在线| 欧美日韩精品三区| 一区二区欧美在线观看| 蜜桃视频一区二区三区在线观看| 91麻豆6部合集magnet| 99亚偷拍自图区亚洲| 国产精品国产三级国产aⅴ原创 | 欧美大胆人体bbbb| 婷婷激情综合网| 精品一区二区三区香蕉蜜桃| 成人一区二区三区中文字幕| 欧美浪妇xxxx高跟鞋交| 日本一区二区三区电影| 夜夜精品视频一区二区 | 亚洲精品亚洲人成人网在线播放| 91精品久久久久久蜜臀| 国产午夜三级一区二区三| 精品一区二区三区日韩| 日韩欧美一区电影| 久久99精品一区二区三区三区| 日韩免费视频线观看| 美女脱光内衣内裤视频久久网站| 精品美女在线播放| 亚洲午夜日本在线观看| 成人app在线观看| 亚洲色图视频网| 国产99精品视频| 久久男人中文字幕资源站| 亚洲欧美激情视频在线观看一区二区三区| 久色婷婷小香蕉久久| ww亚洲ww在线观看国产| 成人永久免费视频| 亚洲激情自拍偷拍| 91精品免费在线观看| 国产精品一线二线三线| 欧美成人高清电影在线| 国产成人在线色| 精品久久久久一区| 不卡的av中国片| 天天亚洲美女在线视频| 欧美成人三级在线| av在线播放不卡| 日韩av网站免费在线| 国产日韩在线不卡| 在线观看网站黄不卡| 一区二区三区四区在线播放| 欧美一区二区在线免费播放| 日韩高清不卡一区| 中文字幕av不卡| 成人av电影在线观看| 午夜激情综合网| 中文幕一区二区三区久久蜜桃| 国产精品18久久久久久久久 | 亚洲福利视频导航| 久久久国产精品午夜一区ai换脸| 91亚洲男人天堂| 久久国产欧美日韩精品| 亚洲精品高清在线观看| 欧美xxxxx裸体时装秀| eeuss鲁一区二区三区| 日韩国产精品久久| 中文字幕亚洲欧美在线不卡| 欧美精品自拍偷拍动漫精品| 成人综合日日夜夜| 亚洲成av人片在线观看无码| 欧美日韩精品欧美日韩精品一| 国产盗摄一区二区三区| 天堂在线亚洲视频| 日韩欧美美女一区二区三区| 一本色道久久综合精品竹菊| 亚洲永久免费视频| 在线电影国产精品| 91色porny| 成人性视频免费网站| 麻豆成人久久精品二区三区小说| 洋洋av久久久久久久一区| 中文字幕乱码久久午夜不卡 | 91香蕉视频mp4| 成人午夜精品一区二区三区| 精品一区二区在线视频| 婷婷国产在线综合| 午夜成人免费电影| 亚洲图片欧美色图| 亚洲色欲色欲www| 中文字幕一区视频| 国产精品嫩草影院av蜜臀| 久久综合久久综合九色| 日韩欧美久久久| 精品伦理精品一区| 欧美变态口味重另类| 欧美刺激午夜性久久久久久久| 欧美日本国产视频| 欧美电影在哪看比较好| 91麻豆精品国产综合久久久久久| 欧美体内she精视频| 国产馆精品极品| 国产福利一区在线观看| 国产精品一区一区| 丰满白嫩尤物一区二区| 成人免费视频一区| 97aⅴ精品视频一二三区| 91日韩在线专区| 欧美色男人天堂| 日韩一区二区免费视频| 日韩欧美在线不卡| 久久久久久久久久久黄色| 久久青草国产手机看片福利盒子| 久久婷婷成人综合色| 国产三级三级三级精品8ⅰ区| 国产精品视频一二| 亚洲欧美视频在线观看| 亚洲一区影音先锋| 男女性色大片免费观看一区二区| 亚洲男人天堂av网| 性久久久久久久久久久久| 青青青爽久久午夜综合久久午夜| 久久99精品久久久久婷婷| 国产成人一级电影| 91国偷自产一区二区三区成为亚洲经典| 欧美视频你懂的| 欧美精品一区二区在线播放| 国产精品网站在线观看| 亚洲最大成人综合| 久国产精品韩国三级视频| 成人涩涩免费视频| 欧美裸体bbwbbwbbw| 337p日本欧洲亚洲大胆色噜噜| 中文字幕亚洲不卡| 亚洲mv在线观看| 国产精品88av| 欧美日韩亚洲综合一区二区三区| 久久毛片高清国产| 亚洲男女一区二区三区| 美国毛片一区二区| 91在线免费播放| 精品国产一区二区三区久久久蜜月| 亚洲欧洲国产专区| 日本中文在线一区| 97se亚洲国产综合自在线| 欧美一区二区福利视频| 综合久久综合久久| 国产一区二区福利视频| 欧美日韩亚洲不卡| 国产精品你懂的在线| 蜜臀91精品一区二区三区| 久久久久久久久久久久电影 | 国产成人免费在线观看| 99久免费精品视频在线观看| 欧美一区二区成人6969| 中文字幕永久在线不卡| 久久99精品久久久久久久久久久久| 欧美亚洲国产bt| 国产精品色噜噜| 国产一区福利在线| 欧美一区2区视频在线观看| 亚洲欧美二区三区| 国产成人亚洲精品狼色在线| 欧美一区二区三区免费在线看| 亚洲精品菠萝久久久久久久| 国产成人在线免费| 久久综合久久综合九色| 日韩国产在线观看| 欧美亚洲国产怡红院影院| 国产精品夫妻自拍| 丰满亚洲少妇av| 国产亚洲精品aa| 国产毛片精品一区| 亚洲精品一区二区三区香蕉| 蜜臀av一级做a爰片久久| 欧美日韩不卡在线| 午夜精品一区在线观看| 日本久久一区二区| 一区二区三区小说| 91麻豆免费视频| 亚洲综合免费观看高清完整版在线| 欧美成人一区二区三区| 欧美r级电影在线观看|