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

📄 animatedgraphicstab.java

📁 SUN公司eclipse3.2.2经典例子
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.examples.graphics;import org.eclipse.swt.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.widgets.*;/** * This class extends the GraphicsTab class to create animated graphics. * */public abstract class AnimatedGraphicsTab extends GraphicsTab {	ToolBar toolBar;	ToolItem playItem, pauseItem;	Spinner timerSpinner;		// to input the speed of the animation 	private boolean animate;	// flag that indicates whether or not to animate the graphic	public AnimatedGraphicsTab(GraphicsExample example) {		super(example);		animate = true;	}	/**	 * Sets the layout of the composite to RowLayout and creates the toolbar.	 * 	 * @see org.eclipse.swt.examples.graphics.GraphicsTab#createControlPanel(org.eclipse.swt.widgets.Composite)	 */	public void createControlPanel(Composite parent) {				// setup layout		RowLayout layout = new RowLayout();		layout.wrap = true;		layout.spacing = 8;		parent.setLayout(layout);				createToolBar(parent);	}		/**	 * Creates the toolbar controls: play, pause and animation timer.	 * 	 * @param parent A composite	 */	void createToolBar(final Composite parent) {		final Display display = parent.getDisplay();						toolBar = new ToolBar(parent, SWT.FLAT);		Listener toolBarListener = new Listener() {			public void handleEvent(Event event) {				switch (event.type) {					case SWT.Selection: {						if (event.widget == playItem) {							animate = true;							playItem.setEnabled(!animate);							pauseItem.setEnabled(animate);						} else if (event.widget == pauseItem) {							animate = false;							playItem.setEnabled(!animate);							pauseItem.setEnabled(animate);						}					}					break;				}			}		};				// play tool item		playItem = new ToolItem(toolBar, SWT.PUSH);		playItem.setText(GraphicsExample.getResourceString("Play")); //$NON-NLS-1$		playItem.setImage(example.loadImage(display, "play.gif")); //$NON-NLS-1$		playItem.addListener(SWT.Selection, toolBarListener);				// pause tool item		pauseItem = new ToolItem(toolBar, SWT.PUSH);		pauseItem.setText(GraphicsExample.getResourceString("Pause")); //$NON-NLS-1$		pauseItem.setImage(example.loadImage(display, "pause.gif")); //$NON-NLS-1$		pauseItem.addListener(SWT.Selection, toolBarListener);				// timer spinner		Composite comp = new Composite(parent, SWT.NONE);		GridLayout gridLayout = new GridLayout(2, false);		comp.setLayout(gridLayout);		Label label = new Label(comp, SWT.CENTER);		label.setText(GraphicsExample.getResourceString("Animation")); //$NON-NLS-1$		timerSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);		timerSpinner.setMaximum(1000);				playItem.setEnabled(false);		animate = true;		timerSpinner.setSelection(getInitialAnimationTime());	}		/**	 *  Answer whether the receiver's drawing should be double bufferer.	 */	public boolean getDoubleBuffered() {		return true;	}		/**	 * Gets the initial animation time to be used by the tab. Animation time:	 * number of milliseconds between the current drawing and the next (the time	 * interval between calls to the next method). Should be overridden to	 * return a value that is more appropriate for the tab.	 */	public int getInitialAnimationTime() {		return 30;	}		/**	 * Gets the animation time that is selected in the spinner. Animation time:	 * number of milliseconds between the current drawing and the next (the time	 * interval between calls to the next method). Should be overridden to	 * return a value that is more appropriate for the tab.	 */	public int getAnimationTime() {		return timerSpinner.getSelection();	}		/**	 * Returns the true if the tab is currently animated; false otherwise.	 */	public boolean getAnimation() {		return animate;	}		/**	 * Causes the animation to stop or start.	 * 	 * @param flag	 *            true starts the animation; false stops the animation.	 */	public void setAnimation(boolean flag) {		animate = flag;		playItem.setEnabled(!flag);		pauseItem.setEnabled(flag);	}	/**	 * Advance the animation.	 */	public abstract void next(int width, int height);	}

⌨️ 快捷键说明

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