⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playerpanel.java

📁 使用Exlipse编写的一个语音程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	controlsPanel.add(buttonsPanel, BorderLayout.CENTER);		addControlsPanelActionListeners();	return controlsPanel;    }    /**     * Creates a JButton with the given label, which is also the tooltip     * text, and the given mnemonic.     *     * @param label the button label, which is also the tooltip text     * @param mnemonic mnemonic for the button     *     * @return a JButton     */    private JButton createJButton(String label, int mnemonic) {	JButton button = new JButton(label);	button.setToolTipText(label);	button.setMnemonic(mnemonic);	setControlColors(button);	return button;    }    /**     * Creates the JPanel where the volume and speaking rate JSliders are.     */    private JPanel createLeftSliderPanel() {	// create the sliders	playerModel.setVolume(initialVolume);	volumeSlider = new JSlider(JSlider.VERTICAL, 0, 10, initialVolume);	int speakingRate = (int) playerModel.getSpeakingRate();	if (speakingRate == -1) {	    speakingRate = 0;	}	speedSlider = new JSlider(JSlider.VERTICAL, 0, 400, 0);			JPanel volumePanel = createSliderPanel	    (volumeSlider, "Volume Control", 1, 5,	     "Volume", volumeMnemonic);	JPanel speedPanel = createSliderPanel	    (speedSlider, "Speed Control", 50, 100,	     "Words/min", wordsPerMinMnemonic);			JPanel sliderPanel = new JPanel(new FlowLayout());	sliderPanel.add(volumePanel);	sliderPanel.add(speedPanel);	addLeftSliderPanelListeners();		return sliderPanel;    }    /**     * Creates the JPanel where the pitch and range JSliders are.     */    private JPanel createRightSliderPanel() {	// create the sliders	pitchSlider = new JSlider(JSlider.VERTICAL, 50, 200, 50);	rangeSlider = new JSlider(JSlider.VERTICAL, 0, 50, 0);	JPanel pitchPanel = createSliderPanel	    (pitchSlider, "Pitch Control", 25, 50, "Pitch/Hz", pitchMnemonic);	JPanel rangePanel = createSliderPanel	    (rangeSlider, "Range Control", 5, 10, "Range", rangeMnemonic);		JPanel sliderPanel = new JPanel();	sliderPanel.setLayout(new FlowLayout());	sliderPanel.add(pitchPanel);	sliderPanel.add(rangePanel);		addRightSliderPanelListeners();		return sliderPanel;    }    /**     * Adds ActionListeners for the JSliders.     */    private void addLeftSliderPanelListeners() {	volumeSlider.addChangeListener(new ChangeListener() {		public void stateChanged(ChangeEvent ce) {		    if (playerModel.setVolume			((float) volumeSlider.getValue()) == false) {			volumeSlider.setValue((int) playerModel.getVolume());		    }		}	    });	speedSlider.addChangeListener(new ChangeListener() {		public void stateChanged(ChangeEvent ce) {		    if (playerModel.setSpeakingRate			((float) speedSlider.getValue()) == false) {			speedSlider.setValue((int) playerModel.getSpeakingRate());		    }		}	    });    }    /**     * Adds ActionListeners for the JSliders.     */    private void addRightSliderPanelListeners() {	pitchSlider.addChangeListener(new ChangeListener() {		public void stateChanged(ChangeEvent e) {		    if (playerModel.setPitch			((float) pitchSlider.getValue()) == false) {			pitchSlider.setValue((int) playerModel.getPitch());		    }		}	    });	rangeSlider.addChangeListener(new ChangeListener() {		public void stateChanged(ChangeEvent e) {		    if (playerModel.setRange			((float) rangeSlider.getValue()) == false) {			rangeSlider.setValue((int) playerModel.getRange());		    }		}	    });    }    /**     * Updates all the Sliders with values from the PlayerModel.     */    private void updateSliders() {	int volume = (int) playerModel.getVolume();	if (volume > -1) {	    volumeSlider.setValue(volume);	}	int rate = (int) playerModel.getSpeakingRate();	if (rate > -1) {	    speedSlider.setValue(rate);	}	int pitch = (int) playerModel.getPitch();	if (pitch > -1) {	    pitchSlider.setValue(pitch);	}	int range = (int) playerModel.getRange();	if (range > -1) {	    rangeSlider.setValue(range);	}    }        /**     * Creates a JPanel that contains the given JSlider, with the     * given attributes.     *     * @param slider the JSlider     * @param toolTipText the text for the tooltip     * @param minorTickSpacing the spacing between minor ticks     * @param majorTickSpacing the spacing between major ticks     * @param title the title of the JSlider     */    private JPanel createSliderPanel(JSlider slider, String toolTipText,				     int minorTickSpacing,				     int majorTickSpacing,				     String title, char mnemonic) {	JPanel sliderPanel = new JPanel(new BorderLayout());			slider.setSize(getSize().width/2 - border,		       slider.getSize().height);		slider.putClientProperty("JSlider.isFilled", Boolean.TRUE);	slider.setMinorTickSpacing(minorTickSpacing);	slider.setMajorTickSpacing(majorTickSpacing);	slider.setPaintTicks(true);	slider.setPaintLabels(true);	slider.setToolTipText(toolTipText);		JLabel leftLabel = new JLabel(title);	leftLabel.setForeground(foregroundColor);	leftLabel.setDisplayedMnemonic(mnemonic);	leftLabel.setLabelFor(slider);		sliderPanel.add(leftLabel, BorderLayout.NORTH);	sliderPanel.add(slider, BorderLayout.CENTER);			return sliderPanel;    }        /**     * Adds ActionListeners to all the buttons     */    private void addControlsPanelActionListeners() {	playButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    int[] selectedIndices =			speakablesList.getSelectedIndices();		    for (int i = 0; i < selectedIndices.length; i++) {			if (selectedIndices[i] != -1) {			    playerModel.play(selectedIndices[i]);			}		    }		}	    });	pauseButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    if (playerModel.isPaused()) {			playerModel.resume();		    } else {			playerModel.pause();		    }		}	    });	cancelButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    playerModel.cancel();		}	    });	stopButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    playerModel.stop();		    pauseButton.setEnabled(true);		}	    });    }    /**     * Creates the text JPanel is where the user enters text to be read.     *     * @return the JPanel with the textArea for text input     */    private JPanel createTextPanel() {	textArea = new JTextArea();	textArea.requestFocusInWindow();	textArea.setLineWrap(true);	textArea.setWrapStyleWord(true);	JScrollPane textScrollPane = new JScrollPane(textArea);	speakTextButton = createJButton("Speak Text", speakMnemonic);	speakJSMLButton = createJButton("Speak JSML", speakJSMLMnemonic);	clearTextButton = createJButton("Clear", clearMnemonic);						BorderLayout borderLayout = new BorderLayout();	JPanel textPanel = new JPanel(borderLayout);	textPanel.setSize(width - border * 2, textPanel.getSize().height);	JPanel buttonsPanel = new JPanel();	buttonsPanel.add(speakTextButton);	buttonsPanel.add(speakJSMLButton);	buttonsPanel.add(clearTextButton);		TitledBorder titledBorder = new TitledBorder("Enter text:");	JLabel titleLabel = new JLabel("Enter text:");	titleLabel.setDisplayedMnemonic(textMnemonic);	titleLabel.setLabelFor(textArea);			EtchedBorder border = new EtchedBorder(Color.WHITE, Color.BLACK);	textPanel.setBorder(border);	textPanel.add(titleLabel, BorderLayout.NORTH);	textPanel.add(textScrollPane, BorderLayout.CENTER);	textPanel.add(buttonsPanel, BorderLayout.SOUTH);	addTextPanelActionListeners();			return textPanel;    }    /**     * Adds ActionListeners to the buttons on the text panel.     */    private void addTextPanelActionListeners() {	clearTextButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    textArea.setText("");		}	    });	speakTextButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    String inputText = textArea.getText();		    if (inputText.length() > 0) {			Playable textPlayable =			    Playable.createTextPlayable(inputText);			playerModel.addPlayable(textPlayable);			speakablesList.setSelectedValue(textPlayable, true);			playerModel.play(textPlayable);		    }		}	    });	speakJSMLButton.addActionListener(new ActionListener() {		public void actionPerformed(ActionEvent e) {		    String inputText = textArea.getText();		    if (inputText.length() > 0) {			Playable jsmlPlayable =			    Playable.createJSMLPlayable(inputText);			playerModel.addPlayable(jsmlPlayable);			speakablesList.setSelectedValue(jsmlPlayable, true);			playerModel.play(jsmlPlayable);		    }		}	    });    }    /**     * Sets the given control JComponent to the application defined color.     *     * @param component the JComponent to set color     */    private void setControlColors(JComponent component) {	component.setBackground(controlColor);    }    /**     * Returns the Playables JList.     *     * @return the Playables JList     */    public JList getPlayList() {	return speakablesList;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -