animatingsurface.java

来自「这是ACCP的JAVA ppt课件」· Java 代码 · 共 96 行

JAVA
96
字号
/* * Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *  * -Redistributions of source code must retain the above copyright *  notice, this list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduct the above copyright *  notice, this list of conditions and the following disclaimer in *  the documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *  * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that Software is not designed, licensed or intended for * use in the design, construction, operation or maintenance of any nuclear * facility. *//* * @(#)AnimatingSurface.java	1.6 03/01/23 */package java2d;import java.awt.*;/** * Demos that animate extend this class. */public abstract class AnimatingSurface extends Surface implements Runnable {    public Thread thread;    public abstract void step(int w, int h);    public abstract void reset(int newwidth, int newheight);    public void start() {        if (thread == null && !dontThread) {            thread = new Thread(this);            thread.setPriority(Thread.MIN_PRIORITY);            thread.setName(name + " Demo");            thread.start();        }    }    public synchronized void stop() {        if (thread != null) {            thread.interrupt();        }        thread = null;        notifyAll();    }    public void run() {        Thread me = Thread.currentThread();        while (thread == me && !isShowing() || getSize().width == 0) {            try {                thread.sleep(200);            } catch (InterruptedException e) { }        }        while (thread == me) {            repaint();            try {                thread.sleep(sleepAmount);            } catch (InterruptedException e) { }        }        thread = null;    }}

⌨️ 快捷键说明

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