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

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

?? clock.java

?? 使用Exlipse編寫的一個語音程序
?? JAVA
字號:
/** * Copyright 2003 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and * redistribution of this file, and for a DISCLAIMER OF ALL * WARRANTIES. */import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingUtilities;/** * A talking clock powered by FreeTTS. */public abstract class Clock extends JFrame {    private JLabel timeLabel;    private JCheckBox announceCheckBox;    private JTextField intervalTextField;    private int timeFontSize = 24;    private GregorianCalendar calendar;    private SimpleDateFormat dateFormat;    private long lastSpeakTime;            // in milliseconds    private int speakInterval = 300000;    // in milliseconds    private int sleepTime = 5000;          // in milliseconds    private static char announceMnemonic = 'A';    private static char minutesMnemonic = 'M';    private static char speakMnemonic = 'S';    private boolean debug = true;        /**     * Constructs a default WebStartClock.     */    public Clock() {        super("FreeTTS Clock");        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                JPanel timePanel = new JPanel(new BorderLayout());        timePanel.setAlignmentY(JPanel.CENTER_ALIGNMENT);        timeLabel = new JLabel("Loading...", JLabel.CENTER);        Font oldFont = timeLabel.getFont();        timeLabel.setFont(new Font(oldFont.getFontName(), oldFont.getStyle(),                                   timeFontSize));        timePanel.add(timeLabel, BorderLayout.CENTER);        timePanel.add(createAnnouncePanel(), BorderLayout.SOUTH);                getContentPane().add(timePanel, BorderLayout.CENTER);        JButton speakButton = new JButton("Speak");        speakButton.setMnemonic(speakMnemonic);        speakButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Runnable speaker = new Runnable() {                    public void run() {                        speakTime();                    }                };                (new Thread(speaker)).start();            }        });        getContentPane().add(speakButton, BorderLayout.SOUTH);                createCalendar();    }    /**     * Start running the clock.     */    public void startClock() {        ClockThread clock = new ClockThread();        clock.start();    }    /**     * Creates the JPanel that allows you to specify the time announcing     * interval.     *     * @return a JPanel     */     private JPanel createAnnouncePanel() {        JPanel announcePanel = new JPanel(new FlowLayout());        announceCheckBox = new JCheckBox("announce every", true);        announceCheckBox.setMnemonic(announceMnemonic);        announceCheckBox.addItemListener(new ItemListener() {            public void itemStateChanged(ItemEvent ie) {                if (ie.getStateChange() == ItemEvent.SELECTED) {                    lastSpeakTime = calendar.getTimeInMillis();                    debugPrintln                        ("Last speak time: "  + String.valueOf(lastSpeakTime));                }            }        });        // a text field to enter the time announcing interval        intervalTextField = new JTextField("5", 3);        intervalTextField.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String text = intervalTextField.getText();                if (text.matches("[1-9][0-9]*")) {                    debugPrintln("New announce interval : " + text);                    speakInterval = Integer.parseInt(text) * 60000;                } else {                    debugPrintln("Invalid minutes input: " + text);                    intervalTextField.setText                        (String.valueOf(speakInterval / 60000));                }            }        });        JLabel minutesLabel = new JLabel("mins");        minutesLabel.setDisplayedMnemonic(minutesMnemonic);        minutesLabel.setLabelFor(intervalTextField);        announcePanel.add(announceCheckBox);        announcePanel.add(intervalTextField);        announcePanel.add(minutesLabel);        return announcePanel;    }    /**     * Creates the synthesizer, called by the constructor.     * Implement this method to create the appropriate synthesizer.     * The created synthesizer will be used by the <code>speak()</code>     * method, also to be implemented in the subclass.     */    public abstract void createSynthesizer();    /**     * Asks the synthesizer to speak the time given in full text.     * Implement this method to call the appropriate method of the     * created synthesizer to speak the given time.     *     * @param time the time given in full text     */    protected abstract void speak(String time);    /**     * Create the GregorianCalendar that keeps track of the time.     */    private void createCalendar() {        calendar = new GregorianCalendar();        // sets the format to display the current time        // the format is "3:50 PM"        dateFormat = new SimpleDateFormat("h:mm a");        dateFormat.setCalendar(calendar);    }    /**     * Sets the time label.     *     * @time time the time to set     */    private void setTimeLabel(final String time) {        SwingUtilities.invokeLater(new Runnable() {            public void run() {                timeLabel.setText(time);            }        });    };    /**     * Updates the calendar and the display with the current time.     */    private void updateTime() {        Date currentTime = new Date();        calendar.setTime(currentTime);        setTimeLabel(dateFormat.format(currentTime));    }    /**     * Speaks the current time.     */    private void speakTime() {        lastSpeakTime = calendar.getTimeInMillis();        int hour = calendar.get(Calendar.HOUR_OF_DAY);        int min = calendar.get(Calendar.MINUTE);                if (hour < 0 || hour > 23) {            throw new IllegalArgumentException("Bad time format: hour");        }        if (min < 0 || min > 59) {            throw new IllegalArgumentException("Bad time format: min");        }                String theTime = TimeUtils.timeToString(hour, min);        speak(theTime);    }    /**     * Return true if we enough time has elapsed since the last announce     * time.     *     * @return true its time to speak, false otherwise     */    private boolean isTimeToSpeak() {        return ((lastSpeakTime + speakInterval) < calendar.getTimeInMillis());    }    /**     * Print method for debug purposes.     *     * @param the debug message to print     */    private void debugPrintln(String line) {        if (debug) {            System.out.println(line);        }    }    /**     * A thread for the clock.     */    class ClockThread extends Thread {        public void run() {            while (true) {                updateTime();                if (announceCheckBox.isSelected() && isTimeToSpeak()) {                    speakTime();                }                try {                    Thread.sleep(sleepTime);                } catch (InterruptedException ie) {                    ie.printStackTrace();                }            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区在线不卡| 欧美亚洲国产一区在线观看网站| 午夜欧美视频在线观看 | 麻豆国产91在线播放| 一级做a爱片久久| 亚洲卡通动漫在线| 亚洲午夜久久久久久久久电影网 | 日韩专区中文字幕一区二区| 亚洲一区二区三区不卡国产欧美| 亚洲激情男女视频| 亚洲午夜精品17c| 日韩综合在线视频| 国产精品一区二区在线播放| 成人性生交大片免费| 播五月开心婷婷综合| 日本高清免费不卡视频| 欧美日韩精品系列| 欧美精品一区二区三| 国产欧美一区二区三区鸳鸯浴 | 亚洲摸摸操操av| 一区二区三区国产精华| 视频一区视频二区在线观看| 狠狠网亚洲精品| 99久久er热在这里只有精品66| 色一区在线观看| 51午夜精品国产| 久久精品亚洲乱码伦伦中文| 最近日韩中文字幕| 日本最新不卡在线| 暴力调教一区二区三区| 91国偷自产一区二区开放时间| 欧美日本在线一区| 久久久91精品国产一区二区精品| 亚洲精品你懂的| 久久不见久久见免费视频1| 成人成人成人在线视频| 91精品福利在线一区二区三区| 久久综合视频网| 伊人色综合久久天天人手人婷| 青青草原综合久久大伊人精品 | 亚洲视频一区二区免费在线观看| 亚洲国产精品久久人人爱| 国产精品自拍网站| 欧美日韩国产综合久久| 中文一区二区在线观看| 青青草国产成人av片免费| 色婷婷综合久久久中文字幕| 亚洲精品一线二线三线| 亚洲国产视频在线| 成人av在线资源| 欧美电视剧免费全集观看| 一区二区不卡在线视频 午夜欧美不卡在| 免费在线观看精品| 日本韩国一区二区三区视频| 26uuu另类欧美亚洲曰本| 亚洲无线码一区二区三区| 99综合电影在线视频| 久久蜜桃av一区精品变态类天堂| 亚洲成人手机在线| 色综合激情五月| 亚洲国产精品成人久久综合一区| 蜜臀av国产精品久久久久| 欧美另类z0zxhd电影| 亚洲自拍偷拍av| 色综合久久中文综合久久97| 精品国产伦一区二区三区观看体验| 午夜精品免费在线观看| 一本一道久久a久久精品| 国产人妖乱国产精品人妖| 精品在线播放免费| 日韩欧美激情四射| 九色porny丨国产精品| 日韩一级黄色片| 久久99精品国产.久久久久| 欧美精品久久久久久久久老牛影院| 亚洲免费视频成人| 91久久精品网| 一区二区三区四区在线免费观看| 99久久精品国产麻豆演员表| 中文字幕亚洲成人| 91官网在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美系列在线观看| 偷偷要91色婷婷| 精品久久国产97色综合| 国产一区二区三区av电影| 久久久精品欧美丰满| 成人一级片在线观看| 亚洲日本电影在线| 欧美午夜精品理论片a级按摩| 亚洲国产人成综合网站| 欧美卡1卡2卡| 国产一区视频在线看| 国产精品污污网站在线观看 | 亚洲一级二级三级在线免费观看| 欧美亚州韩日在线看免费版国语版| 亚洲成人福利片| 欧美精品一区二区三区一线天视频| 国产精品亚洲视频| 亚洲精品少妇30p| 欧美一级艳片视频免费观看| 国产麻豆成人精品| 亚洲男人都懂的| 欧美一二三区在线| 成人av午夜电影| 亚洲成人av资源| 国产三级一区二区三区| 欧美午夜电影网| 国产美女精品在线| 一区二区三区四区国产精品| 91精品一区二区三区在线观看| 黄色日韩网站视频| 亚洲综合免费观看高清在线观看| 日韩欧美色电影| 91首页免费视频| 另类中文字幕网| 亚洲日本欧美天堂| 精品久久久久久久久久久久久久久久久| 成人av在线看| 麻豆久久一区二区| 一区二区三区四区在线免费观看| 久久综合色婷婷| 欧美精品第一页| av一二三不卡影片| 国产在线麻豆精品观看| 亚洲香肠在线观看| 亚洲视频一二区| 国产农村妇女毛片精品久久麻豆| 在线91免费看| 色中色一区二区| 高清国产午夜精品久久久久久| 视频一区二区中文字幕| 亚洲免费观看在线视频| 久久免费偷拍视频| 日韩三级精品电影久久久| 欧美日韩小视频| 一本色道久久综合亚洲精品按摩| 国产一区二区三区综合| 免费成人在线观看视频| 日韩国产成人精品| 天天爽夜夜爽夜夜爽精品视频 | 欧美精品久久天天躁| 欧美亚洲动漫制服丝袜| 一本色道a无线码一区v| 99久久久无码国产精品| 国产精品1区2区| 国产一区二区三区综合| 麻豆成人久久精品二区三区小说| 丝袜美腿亚洲色图| 亚洲va国产天堂va久久en| 一级中文字幕一区二区| 亚洲一区电影777| 亚洲国产精品一区二区久久 | 韩国av一区二区| 国产自产2019最新不卡| 裸体健美xxxx欧美裸体表演| 蜜臀91精品一区二区三区| 男男gaygay亚洲| 激情综合色播激情啊| 老司机精品视频导航| 国内精品伊人久久久久影院对白| 久久99热这里只有精品| 激情小说亚洲一区| 国产精品456露脸| 99精品视频一区二区三区| 色噜噜狠狠一区二区三区果冻| 91在线观看高清| 欧美日韩黄色影视| 日韩欧美国产综合| 中文欧美字幕免费| 亚洲美女偷拍久久| 日韩成人精品在线| 国产一区二区在线影院| 99国产精品久久久久久久久久 | 欧美一区二区视频网站| 精品国产sm最大网站免费看| 久久久久久久久99精品| 国产精品成人免费精品自在线观看| 国产精品久久久久久久岛一牛影视 | 亚洲午夜久久久久久久久电影院| 午夜激情久久久| 久久99久久精品| 91污在线观看| 日韩午夜在线影院| 国产精品情趣视频| 亚洲成人www| 高清不卡一二三区| 欧美三级蜜桃2在线观看| 精品久久国产字幕高潮| 亚洲欧洲三级电影| 日本aⅴ精品一区二区三区| 波多野结衣中文字幕一区二区三区| 欧美日韩你懂得| 中文字幕二三区不卡| 图片区小说区区亚洲影院| 成人网在线免费视频| 欧美一级淫片007| 亚洲欧美欧美一区二区三区| 麻豆传媒一区二区三区| 欧美色综合久久|