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

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

?? player.java

?? 使用Exlipse編寫的一個語音程序
?? JAVA
字號:
/** * Copyright 2001 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.Component;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import javax.speech.synthesis.SynthesizerModeDesc;import javax.speech.synthesis.Voice;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.ListModel;import javax.swing.LookAndFeel;import javax.swing.SwingUtilities;import javax.swing.UIManager;public class Player extends JFrame {    private PlayerModel playerModel;    private PlayerPanel playerPanel;    private PlayerMenuBar playerMenuBar;    private Font globalFont;    private String globalFontFace = "Arial";                    /**     * Constructs a Player with the given title.     *     * @param title the title of the Player     */    public Player(String title) {	super(title);	setDefaultLookAndFeelDecorated(true);	addWindowListener(new WindowAdapter() {		public void windowClosing(WindowEvent e) {		    playerModel.close();		    System.exit(0);		}	    });	playerModel = new PlayerModelImpl();	playerPanel = new PlayerPanel(playerModel);	setSize(playerPanel.getSize());	getContentPane().add(playerPanel, BorderLayout.CENTER);    }    /**     * Returns the view model of this Player application.     *     * @return the view model     */    public PlayerPanel getView() {	return playerPanel;    }        /**     * Returns the data model of this Player application.     *     * @return the data model     */    public PlayerModel getModel() {	return playerModel;    }        /**     * Sets the menubar for this Player.     *     * @param menubar the menubar     */    public void setMenuBar(PlayerMenuBar menubar) {	playerMenuBar = menubar;	setJMenuBar(playerMenuBar);    }    /**     * Show/hide the current monitor from the applcation frame.     *     * @param show true to show, false to hide     */    public void showMonitor(boolean show) {	Monitor monitor = playerModel.getMonitor();	int newHeight = getSize().height;	int monitorHeight = monitor.getSize().height;	if (show) {	    playerPanel.add(monitor, BorderLayout.SOUTH);	    newHeight += monitorHeight;	} else {	    playerPanel.remove(monitor);	    newHeight -= monitorHeight;	}	Dimension newSize = new Dimension(getSize().width, newHeight);	playerPanel.setSize(newSize);	setSize(newSize);	playerModel.setMonitorVisible(show);        repaint();    }    /**     * Changes the font size of all components in this Player.     *      * @param change the change in font size     */    public void setGlobalFontSize(int fontSize) {	if (globalFont == null) {	    globalFont = getFont();	}	globalFont = new Font(globalFontFace, Font.BOLD, fontSize);			UIManager.put("Button.font", globalFont);	UIManager.put("ComboBox.font", globalFont);	UIManager.put("Label.font", globalFont);	UIManager.put("List.font", globalFont);	UIManager.put("Menu.font", globalFont);	UIManager.put("MenuItem.font", globalFont);	UIManager.put("TextArea.font", globalFont);	UIManager.put("ToggleButton.font", globalFont);	UIManager.put("ToolTip.font", globalFont);	setFont(globalFont);		SwingUtilities.updateComponentTreeUI(this);	repaint();    }    /**     * A convenience method for setting the Look & Feel.     *     * @param lookAndFeel the Look & Feel specification     */    public void setLookAndFeel(Object lookAndFeel) {	try {	    if (lookAndFeel instanceof String) {		UIManager.setLookAndFeel((String) lookAndFeel);	    } else if (lookAndFeel instanceof LookAndFeel) {		UIManager.setLookAndFeel((LookAndFeel) lookAndFeel);	    }	    SwingUtilities.updateComponentTreeUI(this);	    repaint();	} catch (Exception ex) {	    ex.printStackTrace();	}    }    /**     * Sets the voice for the Player.  The main purpose of this     * method is to set the Player to a nice voice on startup.     */    public void setVoice(String voiceName) {        PlayerModel model = getModel();        ListModel descList = model.getSynthesizerList();        for (int i = 0; i < descList.getSize(); i++) {            SynthesizerModeDesc desc = (SynthesizerModeDesc)                descList.getElementAt(i);            Voice[] voices = desc.getVoices();            for (int j = 0; j < voices.length; j++) {                if (voices[j].getName().equals(voiceName)) {                    model.setSynthesizer(i);                    model.setVoice(j);                    break;                }            }        }    }        /**     * The main() method of the Player.     */    public static void main(String[] args) throws Exception {	boolean showMonitor = false;        String firstVoice = "kevin16";        	Player player = new Player("FreeTTS Player");	for (int i = 0; i < args.length; i++) {            if (args[i].equals("-voice")) {                if (++i < args.length) {		    firstVoice = args[i];                }            } else if (args[i].equals("-fontsize")) {		if (++i < args.length) {		    player.setGlobalFontSize(Integer.parseInt(args[i]));		}	    } else if (args[i].equals("-monitor")) {		showMonitor = true;	    } else if (args[i].equals("-input")) {		PlayerModel model = player.getModel();		for (i++; i < args.length; i++) {		    int start = args[i].indexOf(':');		    if (start > -1) {			String content = args[i].substring(start+1);			System.out.println(content);			if (args[i].startsWith("plaintext:")) {			    model.addPlayable				(Playable.createTextPlayable(content));			} else if (args[i].startsWith("textfile:")) {			    model.addPlayable				(Playable.createTextFilePlayable				 (new File(content)));			} else if (args[i].startsWith("jsmltext:")) {			    model.addPlayable				(Playable.createJSMLPlayable(content));			} else if (args[i].startsWith("jsmlfile:")) {			    model.addPlayable				(Playable.createJSMLFilePlayable				 (new File(content)));			}		    }		}	    }        }	player.setMenuBar(new PlayerMenuBar(player));	player.getModel().createSynthesizers();	player.setVoice(firstVoice);        	player.show();	if (showMonitor) {	    player.showMonitor(showMonitor);	}    }}/** * Implements the menubar of the Player application. */class PlayerMenuBar extends JMenuBar {    private Player player;    private PlayerModel playerModel;    private JFileChooser fileChooser;        private JMenuItem fileSpeakJSMLMenuItem;    private JMenuItem fileSpeakTextMenuItem;    private JMenuItem fileSpeakURLMenuItem;    private JMenuItem fileExitMenuItem;    private JMenuItem styleLFCrossPlatformMenuItem;    private JMenuItem styleLFSystemMenuItem;    private JMenuItem styleFontSizeLargerMenuItem;    private JMenuItem styleFontSizeSmallerMenuItem;    private JMenuItem monitorHideMenuItem;    private JMenuItem monitorShowMenuItem;                    private static char crossPlatformMnemonic = 'C';    private static char exitMnemonic = 'X';    private static char fileMnemonic = 'F';    private static char hideMonitorMnemonic = 'H';    private static char jsmlMnemonic = 'J';    private static char monitorMnemonic = 'M';    private static char showMonitorMnemonic = 'S';    private static char speakMnemonic = 'S';    private static char styleMnemonic = 'E';    private static char styleLFMnemonic = 'L';    private static char systemMnemonic = 'S';    private static char textMnemonic = 'T';    private static char urlMnemonic = 'U';    /**     * Constructs a menubar with the given Player data model.     *     * @param playerModel the Player data model     */    public PlayerMenuBar(Player player) {	super();	this.player = player;	this.playerModel = player.getModel();	this.fileChooser = new JFileChooser();	fileChooser.setCurrentDirectory	    (new File(System.getProperty("user.dir")));	add(createFileMenu());	add(createStyleMenu());	add(createMonitorMenu());    }    /**     * Creates the File menu.     *     * @return the File menu     */    private JMenu createFileMenu() {	JMenu fileMenu = new JMenu("File");	fileMenu.setMnemonic(fileMnemonic);	add(fileMenu);		JMenu fileSpeakMenu = new JMenu("Speak");	fileSpeakMenu.setMnemonic(speakMnemonic);		fileSpeakJSMLMenuItem = new JMenuItem("JSML File ...");	fileSpeakTextMenuItem = new JMenuItem("Text File ...");	fileSpeakURLMenuItem = new JMenuItem("URL ...");	fileSpeakJSMLMenuItem.setMnemonic(jsmlMnemonic);	fileSpeakTextMenuItem.setMnemonic(textMnemonic);	fileSpeakURLMenuItem.setMnemonic(urlMnemonic);			fileSpeakMenu.add(fileSpeakJSMLMenuItem);	fileSpeakMenu.add(fileSpeakTextMenuItem);	fileSpeakMenu.add(fileSpeakURLMenuItem);					fileExitMenuItem = new JMenuItem("Exit");	fileExitMenuItem.setMnemonic(exitMnemonic);		fileMenu.add(fileSpeakMenu);	fileMenu.addSeparator();	fileMenu.add(fileExitMenuItem);		addFileMenuListeners();		return fileMenu;    }    /**     * Adds the given Playaable to the play list, and plays it.     */    private void playPlayable(Playable playable) {	playerModel.addPlayable(playable);	player.getView().getPlayList().setSelectedValue(playable, true);	playerModel.play(playable);    }    /**     * Add listenrs to the file menu.     */    private void addFileMenuListeners() {	fileExitMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    playerModel.close();		    System.exit(0);		}	    });	fileSpeakJSMLMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    File file = chooseFile();		    if (file != null) {			playPlayable(Playable.createJSMLFilePlayable(file));		    }		}	    });	fileSpeakTextMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    File file = chooseFile();		    if (file != null) {			playPlayable(Playable.createTextFilePlayable(file));		    }		}	    });	fileSpeakURLMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    String url = JOptionPane.showInputDialog			(getParent(), "Enter URL:", "Speak URL",			 JOptionPane.QUESTION_MESSAGE);		    if (url != null && url.length() > 0) {			playPlayable(Playable.createURLPlayable(url));		    }		}	    });    }    /**     * Creates the Style menu.     *     * @return the Style menu     */    private JMenu createStyleMenu() {	JMenu styleMenu = new JMenu("Style");	styleMenu.setMnemonic(styleMnemonic);		JMenu styleLFMenu = new JMenu("Look & Feel");	styleLFMenu.setMnemonic(styleLFMnemonic);		styleLFCrossPlatformMenuItem = new JMenuItem("Cross Platform");	styleLFCrossPlatformMenuItem.setMnemonic(crossPlatformMnemonic);		styleLFSystemMenuItem = new JMenuItem("System");	styleLFSystemMenuItem.setMnemonic(systemMnemonic);		styleLFMenu.add(styleLFCrossPlatformMenuItem);	styleLFMenu.add(styleLFSystemMenuItem);		styleMenu.add(styleLFMenu);		addStyleMenuListeners();		return styleMenu;    }    /**     * Add listeners to the Style menu.     */    private void addStyleMenuListeners() {	styleLFCrossPlatformMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    player.setLookAndFeel			(UIManager.getCrossPlatformLookAndFeelClassName());		}	    });	styleLFSystemMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    player.setLookAndFeel			(UIManager.getSystemLookAndFeelClassName());		}	    });    }    /**     * Creates the Style menu.     *     * @return the Style menu     */    private JMenu createMonitorMenu() {	JMenu monitorMenu = new JMenu("Monitor");	monitorMenu.setMnemonic(monitorMnemonic);		monitorShowMenuItem = new JMenuItem("Show");	monitorShowMenuItem.setMnemonic(showMonitorMnemonic);	monitorShowMenuItem.setEnabled(!playerModel.isMonitorVisible());			monitorHideMenuItem = new JMenuItem("Hide");	monitorHideMenuItem.setMnemonic(hideMonitorMnemonic);	monitorHideMenuItem.setEnabled(playerModel.isMonitorVisible());			monitorMenu.add(monitorShowMenuItem);	monitorMenu.add(monitorHideMenuItem);			addMonitorMenuListeners();		return monitorMenu;    }    /**     * Add listeners to the monitor menu.     */    private void addMonitorMenuListeners() {	monitorShowMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    monitorShowMenuItem.setEnabled(false);		    monitorHideMenuItem.setEnabled(true);		    player.showMonitor(true);		}	    });	monitorHideMenuItem.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    monitorShowMenuItem.setEnabled(true);		    monitorHideMenuItem.setEnabled(false);			    SwingUtilities.invokeLater			(new Runnable() {				public void run() {				    player.showMonitor(false);				}			    });		}	    });    }        /**     * Returns the JFrame which this menu bar belongs to.     *     * @return the JFrame which this menu bar belongs     */    private JFrame getFrame() {	return (JFrame) player;    }    /**     * Shows a JFileChooser screen and returns the chosen file.     *     * @return the chosen file     */    private File chooseFile() {	int option = fileChooser.showOpenDialog(getParent());	if (option == JFileChooser.APPROVE_OPTION) {	    return fileChooser.getSelectedFile();	} else {	    return null;	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品中文字幕日韩精品 | 国产福利一区二区| 亚洲尤物在线视频观看| 中日韩av电影| 国产精品丝袜黑色高跟| 亚洲欧洲国产日韩| 综合久久久久久久| 亚洲码国产岛国毛片在线| 亚洲免费观看在线视频| 亚洲视频免费看| 亚洲在线免费播放| 亚洲国产三级在线| 蜜臀av一区二区在线免费观看| 秋霞电影一区二区| 国产在线精品不卡| 成人激情黄色小说| 欧美日韩国产a| 日韩欧美综合一区| 国产日韩精品一区二区浪潮av| 久久久久久久免费视频了| 欧美国产日韩亚洲一区| 亚洲美女少妇撒尿| 免费看日韩精品| 国产一区二区不卡| 暴力调教一区二区三区| 欧美tickling网站挠脚心| 26uuu另类欧美| 1区2区3区精品视频| 午夜精品影院在线观看| 老司机精品视频在线| 国产麻豆精品久久一二三| 97久久久精品综合88久久| 欧美在线免费观看亚洲| 精品嫩草影院久久| 国产精品乱人伦| 日韩av中文在线观看| 成人午夜在线视频| 欧美剧情电影在线观看完整版免费励志电影 | 在线观看国产一区二区| 欧美va亚洲va| 亚洲一级在线观看| 国产精品白丝jk黑袜喷水| 欧美在线不卡视频| 欧美经典三级视频一区二区三区| 伊人一区二区三区| 国产黑丝在线一区二区三区| 欧美性大战久久久久久久蜜臀| 久久午夜电影网| 天天综合色天天| 97久久久精品综合88久久| 久久夜色精品一区| 青青草原综合久久大伊人精品| 91香蕉国产在线观看软件| 日韩欧美www| 天堂资源在线中文精品| www.综合网.com| 精品日韩成人av| 亚洲国产aⅴ成人精品无吗| 国产成人一级电影| 精品久久国产97色综合| 午夜精品久久久久久久 | 日本伊人色综合网| 色久综合一二码| 国产精品人妖ts系列视频| 国产成人精品三级| 精品不卡在线视频| 裸体健美xxxx欧美裸体表演| 欧美嫩在线观看| 午夜欧美视频在线观看| 91高清在线观看| 亚洲国产精品欧美一二99| 91久久精品一区二区| 亚洲欧美日韩电影| 色成年激情久久综合| 亚洲婷婷国产精品电影人久久| 丁香桃色午夜亚洲一区二区三区| 国产亚洲一区二区三区在线观看| 国产在线麻豆精品观看| 欧美电视剧在线看免费| 蜜乳av一区二区三区| 日韩视频免费观看高清完整版| 麻豆成人免费电影| 久久久www成人免费毛片麻豆| 日韩av中文在线观看| 欧美草草影院在线视频| 精品制服美女久久| 久久久精品影视| 韩国精品在线观看| 久久久www成人免费无遮挡大片| 黄网站免费久久| 国产欧美视频在线观看| 北条麻妃一区二区三区| 亚洲视频一区二区在线| 欧美日韩成人综合| 麻豆精品精品国产自在97香蕉| 2024国产精品| www.一区二区| 亚洲国产另类av| 精品蜜桃在线看| 丰满少妇在线播放bd日韩电影| 中文字幕一区二区三区四区不卡 | 欧美日本免费一区二区三区| 日韩福利电影在线观看| 亚洲精品一区二区三区福利| 粉嫩久久99精品久久久久久夜 | 欧美日本韩国一区二区三区视频| 日本欧美一区二区三区乱码| 久久精品亚洲麻豆av一区二区 | 精品一区二区日韩| 国产精品毛片久久久久久| 欧美男生操女生| 成人在线视频首页| 日本亚洲最大的色成网站www| 国产视频911| 欧美精品在欧美一区二区少妇 | 亚洲美女区一区| 欧美电视剧免费全集观看| proumb性欧美在线观看| 午夜电影网亚洲视频| 欧美韩国一区二区| 欧美一区二区美女| 99综合电影在线视频| 久久精品999| 亚洲一区二区三区国产| 国产精品麻豆网站| 久久久亚洲精品一区二区三区| 欧美天天综合网| 成人黄色小视频| 国内欧美视频一区二区| 性做久久久久久久久| 国产精品国产三级国产普通话99| 日韩精品自拍偷拍| 欧美精品九九99久久| 91国偷自产一区二区三区观看| 国产成人自拍高清视频在线免费播放| 亚洲资源中文字幕| 亚洲欧美电影一区二区| 中文字幕人成不卡一区| 中文字幕免费不卡在线| 久久久91精品国产一区二区精品| 日韩欧美123| 欧美成人一区二区三区片免费 | 日本一区二区成人| 国产亚洲短视频| 久久久777精品电影网影网 | 亚洲欧美另类图片小说| 国产精品乱码一区二区三区软件| 久久精品视频免费| 亚洲精品一区二区三区99| 日韩免费在线观看| 日韩一区二区免费视频| 日韩美女一区二区三区四区| 欧美一级片免费看| 91麻豆精品国产91久久久使用方法| 欧美制服丝袜第一页| 色婷婷综合五月| 91香蕉视频黄| 欧美怡红院视频| 色琪琪一区二区三区亚洲区| 成人a区在线观看| 成人午夜短视频| 国产精品亚洲第一区在线暖暖韩国| 久久国产精品色| 理论片日本一区| 国产乱码精品1区2区3区| 国产91综合网| 色综合av在线| 欧美一区日本一区韩国一区| 欧美va亚洲va在线观看蝴蝶网| 精品国产成人系列| 日本一区二区久久| 一区二区三区日韩欧美精品 | 2019国产精品| 国产免费久久精品| 国产精品美女久久久久久| 国产精品国产精品国产专区不蜜 | 欧美一区二区美女| 久久久久久久av麻豆果冻| 亚洲欧美日韩久久| 免费久久99精品国产| 国产精品18久久久久久久久| 99视频国产精品| 3d动漫精品啪啪1区2区免费| 久久午夜色播影院免费高清 | 久久综合中文字幕| 国产精品视频yy9299一区| 亚洲丝袜精品丝袜在线| 午夜欧美2019年伦理| 国产美女久久久久| 91久久免费观看| 久久综合色播五月| 一区二区三区在线免费| 久久国产人妖系列| 91久久久免费一区二区| 久久久国产一区二区三区四区小说| 亚洲精品美腿丝袜| 国产福利精品导航| 欧美色图片你懂的| 国产精品久久毛片| 国产在线精品一区二区|