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

📄 standardcontrolpanel.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
字号:
package net.sf.fmj.ejmf.toolkit.gui.controlpanel;import java.awt.event.ActionListener;import java.awt.event.MouseListener;import javax.media.Player;import javax.swing.AbstractButton;import javax.swing.event.ChangeListener;import net.sf.fmj.ejmf.toolkit.gui.controls.AbstractGainButtonPanel;import net.sf.fmj.ejmf.toolkit.gui.controls.AbstractListenerControl;import net.sf.fmj.ejmf.toolkit.gui.controls.ActionListenerControl;import net.sf.fmj.ejmf.toolkit.gui.controls.ChangeListenerControl;import net.sf.fmj.ejmf.toolkit.gui.controls.MouseListenerControl;import net.sf.fmj.ejmf.toolkit.gui.controls.Skin;import net.sf.fmj.ejmf.toolkit.gui.controls.StandardGainControl;import net.sf.fmj.ejmf.toolkit.gui.controls.StandardProgressControl;import net.sf.fmj.ejmf.toolkit.gui.controls.skins.ejmf.ProgressSlider;import net.sf.fmj.ejmf.toolkit.gui.controls.skins.two.SkinTwo;/** * StandardControlPanel extends JPanel and arranges * the standard controls in a left-to-right fashion using  * FlowLayout and add(Component, index) * * Setters are defined that allow the user to change the * visual component associated with any control. A version * of these setters allows for the definition of a new * listener. * * Two constructors are defined. The first builds all * the default controls into the control panel. The * second takes a flag which defines the controls to be * built and displayed by the control panel. * The flag values are defined by public static values * provided by the class. These values can be OR'd together * to set a flag value. * @see net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControlPanel*/public class StandardControlPanel extends AbstractControlPanel    {    /**       * Flags for which controls will appear      * in panel. It is OR of values below.      */    private int buttonFlags;    private static final Skin DEFAULT_SKIN = new SkinTwo();    /**     * Build a StandardControlPanel with all of the default controls.     *     * @param          p     *                 A player with which control panel is associated.     * @see	       javax.media.Player     */    public StandardControlPanel(Player p) {	this(DEFAULT_SKIN, p, 0xffffffff);    }    /**     * Build a StandardControlPanel designating which controls are     * desired.     *     * @param          p     *                 A player with which control panel is associated.     * @param          buttonFlags     *                 Control values OR'd together which determine      *			the controls that are displayed.     * @see	       javax.media.Player     */    public StandardControlPanel(Player p, int buttonFlags) {	this(DEFAULT_SKIN, p, buttonFlags);    }        public StandardControlPanel(Skin skin, Player p) {    	this(skin, p, 0xffffffff);    }        public StandardControlPanel(Skin skin, Player p, int buttonFlags) {    	super(skin, p, buttonFlags);        }	/**	 * Creates Controls associated with this Control Panel.	* @param player Associated Player	*/    protected AbstractControls createControls(Player player) {	return new StandardControls(skin, player);    }    /**     * Does the work of building the control components and     * adding them to the layout. The default behavior is     * simply to use the components provided by BasicControlPanel.     *     * This method may be over-ridden for a wholesale customization     * of the control panel.     *     */    public void addComponents(int flags)  {	AbstractListenerControl c;	String name;	c = getControl(StandardControls.START_CONTROL);	if ((c != null) && ((flags & USE_START_CONTROL) != 0))	    add(c.getControlComponent());	c = getControl(StandardControls.PAUSE_CONTROL);	if ((c != null) && ((flags & USE_PAUSE_CONTROL) != 0))	    add(c.getControlComponent());	c = getControl(StandardControls.FF_CONTROL);        if ((c != null) && ((flags & USE_FF_CONTROL) != 0))	    add(c.getControlComponent());	c = getControl(StandardControls.PROGRESS_CONTROL);	if ((c != null) && ((flags & USE_PROGRESS_CONTROL) != 0))	    add(c.getControlComponent());	c = getControl(StandardControls.REVERSE_CONTROL);	if ((c != null) && ((flags & USE_REVERSE_CONTROL) != 0) && c.isOperational())	    add(c.getControlComponent());	c = getControl(StandardControls.STOP_CONTROL);	if ((c != null) && (flags & USE_STOP_CONTROL) != 0) 	    add(c.getControlComponent());	c = getControl(StandardControls.GAIN_CONTROL);	if ((c != null) && ((flags & USE_GAIN_CONTROL) != 0) && c.isOperational())	    add(c.getControlComponent());	c = getControl(StandardControls.GAINMETER_CONTROL);	if ((c != null) && ((flags & USE_GAINMETER_CONTROL) != 0) && c.isOperational())	    add(c.getControlComponent());    }    ////////// Convenience Methods for Setting Control Components ///////    	/**		* Get the start button control	* @return An AbstractButton	*/    public AbstractButton getStartButton() {      return (AbstractButton)getControl(StandardControls.START_CONTROL).getControlComponent();    }	/**		* Get the pause button control	* @return An AbstractButton	*/    public AbstractButton getPauseControl() {      return (AbstractButton)getControl(StandardControls.PAUSE_CONTROL).getControlComponent();    }   	/**		* Get the fast forward button control	* @return An AbstractButton	*/    public AbstractButton getFastForwardButton() {       return 	(AbstractButton)getControl(StandardControls.FF_CONTROL).getControlComponent();    }	/**		* Get the progress control	* @return A ProgressSlider	*/    public ProgressSlider getProgressComponent() {	StandardProgressControl spc = 	    (StandardProgressControl) getControl(StandardControls.PROGRESS_CONTROL);	return (ProgressSlider)spc.getControlComponent();    }	/**		* Get the stop button control	* @return An AbstractButton	*/    public AbstractButton getStopButton() {	return (AbstractButton)getControl(		StandardControls.STOP_CONTROL).getControlComponent();    }	/**		* Get the reverse button control	* @return An AbstractButton	*/    public AbstractButton getReverseButton() {	return (AbstractButton)getControl(		StandardControls.REVERSE_CONTROL).getControlComponent();    }	/**		* Get the gain button panel	* @return An AbstractGainButtonPanel	*/    public AbstractGainButtonPanel getGainButtonPanel() {	return (AbstractGainButtonPanel)getControl(		StandardControls.GAIN_CONTROL).getControlComponent();    }	/**		* Get the gain meter button control	* @return An AbstractButton	*/    public AbstractButton getGainMeterButton() {	return (AbstractButton)getControl(		StandardControls.GAINMETER_CONTROL).getControlComponent();    }    /**     * Set the control button for starting the player     * associated with this control panel.     *     * @param          c     *                 An AbstractButton     **/    public void setStartButton(AbstractButton c) {	ActionListenerControl control;	control = (ActionListenerControl)		getControl(StandardControls.START_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control button for starting the player     * associated with this control panel. Supply a listener     * to implement control semantics.     *     * @param          c     *                 An AbstractButton     * @param l A MouseListener that implements button semantics.     **/    public void setStartButton(AbstractButton c, ActionListener l) {	ActionListenerControl control;	control = (ActionListenerControl)		getControl(StandardControls.START_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }    /**     * Set the control button for stopping the player     * associated with this control panel.     *     * @param          c     *                 An AbstractButton     **/    public void setStopButton(AbstractButton c) {	ActionListenerControl control = 	    (ActionListenerControl)getControl(StandardControls.STOP_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control button for stopping the player     * associated with this control panel. Supply a listener     * to implement control semantics.     *     * @param          c     *                 An AbstractButton     * @param 	l An ActionListener that implements button semantics.     **/    public void setStopButton(AbstractButton c, ActionListener l) {	ActionListenerControl control = 	    (ActionListenerControl) getControl(StandardControls.STOP_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }    /**     * Set the control button for fast forwarding the player     * associated with this control panel.     *     * @param          c     *                 An AbstractButton     **/    public void setFastForwardButton(AbstractButton c) {	MouseListenerControl control =	    (MouseListenerControl) getControl(StandardControls.FF_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control button for fast forwarding the player     * associated with this control panel. Supply a listener     * to implement control semantics.     *     * @param          c     *                 An AbstractButton     * @param l A MouseListener that implements button semantics.     **/    public void setFastForwardButton(AbstractButton c, MouseListener l) {	MouseListenerControl control = 	    (MouseListenerControl) getControl(StandardControls.FF_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }    /**     * Set the control button for reversing the player     * associated with this control panel.     *     * @param          c     *                 An AbstractButton     **/    public void setReverseButton(AbstractButton c) {	MouseListenerControl control = 	    (MouseListenerControl)getControl(StandardControls.REVERSE_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control button for reversing the player     * associated with this control panel. Supply a listener     * to implement control semantics.     *     * @param          c     *                 An AbstractButton     * @param l A MouseListener that implements button semantics.     **/    public void setReverseButton(AbstractButton c, MouseListener l) {	MouseListenerControl control = 	    (MouseListenerControl)getControl(StandardControls.REVERSE_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control button for pausing the player     * associated with this control panel.     *     * @param          c     *                 An AbstractButton     **/    public void setPauseButton(AbstractButton c) {	ActionListenerControl control = 	    (ActionListenerControl)getControl(StandardControls.PAUSE_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**      * Set the pause button with use-supplied semantics.     *     * @param c An AbstractButton to affect pause.     * @param l A ActionListener that implements button semantics.     */    public void setPauseButton(AbstractButton c, ActionListener l) {	ActionListenerControl control = 	    (ActionListenerControl)getControl(StandardControls.PAUSE_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control component for progress bar     * associated with this control panel.     *     * @param          c     *                 A ProgressBar     * @see		net.sf.fmj.ejmf.toolkit.gui.controls.ProgressBar     **/    public void setProgressSlider(ProgressSlider c) {	ChangeListenerControl control = 	    (ChangeListenerControl)getControl(StandardControls.PROGRESS_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control component for displaying the player     * progress slider associated with this control panel.      * Supply a ChangeListener to implement control semantics.     *     * @param          c     *                 A ProgressBar     * @see		net.sf.fmj.ejmf.toolkit.gui.controls.skins.ejmf.ProgressSlider     **/    public void setProgressSlider(ProgressSlider c, ChangeListener l) {	ChangeListenerControl control = 	    (ChangeListenerControl)getControl(StandardControls.PROGRESS_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }    /**     * Set the control component for gain meter Control     * @param c An AbstractButton     */    public void setGainMeterButton(AbstractButton c) {	ActionListenerControl control = 	    (ActionListenerControl)getControl(StandardControls.GAINMETER_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control component and listener semantics for gain meter Control     * @param c An AbstractButton     * @param l An ActionListener that implements Control semantics.     */    public void setGainMeterButton(AbstractButton c, ActionListener l) {	ActionListenerControl control = 	    (ActionListenerControl)getControl(StandardControls.GAINMETER_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }    /**     * Set the control component for gain Control     * @param c an AbstractGainButtonPanel     * @see net.sf.fmj.ejmf.toolkit.gui.controls.AbstractGainButtonPanel     */    public void setGainButtonPanel(AbstractGainButtonPanel c) {	StandardGainControl control = 	    (StandardGainControl)getControl(StandardControls.GAIN_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponent(c);    }    /**     * Set the control component and listener semantics for gain Control     * @param c an AbstractGainButtonPanel     * @param l An ActionListener that implements Control semantics.     */    public void setGainButtonPanel(AbstractGainButtonPanel c, 				   ActionListener l) {	StandardGainControl control = 	    (StandardGainControl)getControl(StandardControls.GAIN_CONTROL);	replaceControlComponent(control.getControlComponent(), c);	control.setComponentAndListener(c, l);    }}

⌨️ 快捷键说明

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