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

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

?? balls.java

?? please read it,you can
?? JAVA
字號:
/* * @(#)Balls.java	1.4  98/12/03 * * Copyright 1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information").  You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Sun. */import java.awt.*;import java.awt.image.*;import java.awt.event.*;import java.awt.image.BufferedImage;import javax.swing.*;/** * The Balls class demonstrates animated color bouncing balls. */public class Balls extends JApplet {    Demo demo;    public void init() {        getContentPane().add(demo = new Demo());        getContentPane().add("North", new DemoControls(demo));    }    public void start() {        demo.start();    }      public void stop() {        demo.stop();    }    /**     * The Demo class performs the animation and painting.     */    static class Demo extends JPanel implements Runnable {            private static Color colors[] =                 { Color.red, Color.orange, Color.yellow, Color.green.darker(),                  Color.blue, new Color(75, 00, 82), new Color(238,130,238) };        private Thread thread;        private BufferedImage bimg;        private long now, deltaT, lasttime;        private boolean active;        private boolean clearDemo = true;        protected Ball balls[] = new Ball[colors.length];            /*         * creates a new ball object for each color in the colors         * array and selects the first, fourth, fifth and seventh balls         * for initial display         */        public Demo() {            setBackground(Color.white);            for (int i = 0; i < colors.length; i++) {                balls[i] = new Ball(colors[i], 40);            }            balls[0].isSelected = true;            balls[3].isSelected = true;            balls[4].isSelected = true;            balls[6].isSelected = true;        }                        public void step(int w, int h) {            if (lasttime == 0) {                lasttime = System.currentTimeMillis();            }            now = System.currentTimeMillis();            deltaT = now - lasttime;            active = false;            for (int i = 0; i < balls.length; i++) {                if (balls[i] == null) {                    return;                }                balls[i].step(deltaT, w, h);                if (balls[i].Vy > .02 || -balls[i].Vy > .02 ||                        balls[i].y + balls[i].bsize < h) {                    active = true;                }            }            if (!active) {                for (int i = 0; i < balls.length; i++) {                    balls[i].Vx = (float)Math.random() / 4.0f - 0.125f;                    balls[i].Vy = -(float)Math.random() / 4.0f - 0.2f;                }            }        }                public void drawDemo(int w, int h, Graphics2D g2) {            for (int i = 0; i < balls.length; i++) {                Ball b = balls[i];                if (b == null || b.imgs[b.index] == null || !b.isSelected) {                    continue;                }                g2.drawImage(b.imgs[b.index], (int) b.x, (int) b.y, this);            }            lasttime = now;        }                public Graphics2D createGraphics2D(int w, int h) {            Graphics2D g2 = null;            if (bimg == null || bimg.getWidth() != w || bimg.getHeight() != h) {                bimg = (BufferedImage) createImage(w, h);            }             g2 = bimg.createGraphics();            if (clearDemo) {                g2.setBackground(getBackground());                g2.clearRect(0, 0, w, h);            }            return g2;        }                public void paint(Graphics g) {            Dimension d = getSize();            step(d.width, d.height);            Graphics2D g2 = createGraphics2D(d.width, d.height);            drawDemo(d.width, d.height, g2);            g2.dispose();            g.drawImage(bimg, 0, 0, this);        }                public void start() {            thread = new Thread(this);            thread.setPriority(Thread.MIN_PRIORITY);            thread.start();        }                public synchronized void stop() {            thread = null;        }                public void run() {            Thread me = Thread.currentThread();            while (thread == me) {                repaint();                try {                    thread.sleep(10);                } catch (InterruptedException e) { break; }            }            thread = null;        }                /**         * The Ball class creates 5 balls.  Each ball increasingly blends          * the color white with the specified color.           */        static class Ball {                    public int bsize;            public float x, y;            public float Vx = 0.1f;            public float Vy = 0.05f;            public int nImgs = 5;            public BufferedImage imgs[];            public int index = (int) (Math.random() * (nImgs-1));                    private final float inelasticity = .96f;            private final float Ax = 0.0f;            private final float Ay = 0.0002f;            private final float Ar = 0.9f;            private final int UP = 0;            private final int DOWN = 1;            private int indexDirection = UP;            private boolean collision_x, collision_y;            private float jitter;            private Color color;            private boolean isSelected;                            public Ball(Color color, int bsize) {                this.color = color;                makeImages(bsize);            }                            public void makeImages(int bsize) {                this.bsize = bsize*2;                int R = bsize;                byte[] data = new byte[R * 2 * R * 2];                int maxr = 0;                for (int Y = 2 * R; --Y >= 0;) {                    int x0 = (int) (Math.sqrt(R * R - (Y - R) * (Y - R)) + 0.5);                    int p = Y * (R * 2) + R - x0;                    for (int X = -x0; X < x0; X++) {                        int x = X + 15;                        int y = Y - R + 15;                        int r = (int) (Math.sqrt(x * x + y * y) + 0.5);                        if (r > maxr) {                            maxr = r;                        }                        data[p++] = r <= 0 ? 1 : (byte) r;                    }                }                        imgs = new BufferedImage[nImgs];                        int bg = 255;                byte red[] = new byte[256];                red[0] = (byte) bg;                byte green[] = new byte[256];                green[0] = (byte) bg;                byte blue[] = new byte[256];                blue[0] = (byte) bg;                // for each image, set its color                for (int r = 0; r < imgs.length; r++) {                    float b = 0.5f + (float) ((r+1f)/imgs.length/2f);                    for (int i = maxr; i >= 1; --i) {                        float d = (float) i / maxr;                        red[i] = (byte) blend(blend(color.getRed(), 255, d), bg, b);                        green[i] = (byte) blend(blend(color.getGreen(), 255, d), bg, b);                        blue[i] = (byte) blend(blend(color.getBlue(), 255, d), bg, b);                    }                    IndexColorModel icm = new IndexColorModel(8, maxr + 1,                                red, green, blue, 0);                    DataBufferByte dbb = new DataBufferByte(data, data.length);                    int bandOffsets[] = {0};                    WritableRaster wr = Raster.createInterleavedRaster(dbb,                        R*2,R*2,R*2,1, bandOffsets,null);                    imgs[r] = new BufferedImage(icm, wr,icm.isAlphaPremultiplied(),null);                }            }        	    // performs the blending of white and color            private final int blend(int fg, int bg, float fgfactor) {                return (int) (bg + (fg - bg) * fgfactor);            }        	    // performs the action of bouncing off the window "walls"             public void step(long deltaT, int w, int h) {                collision_x = false;                collision_y = false;                        jitter = (float) Math.random() * .01f - .005f;                        x += Vx * deltaT + (Ax / 2.0) * deltaT * deltaT;                y += Vy * deltaT + (Ay / 2.0) * deltaT * deltaT;                if (x <= 0.0f) {                    x = 0.0f;                    Vx = -Vx * inelasticity + jitter;                    collision_x = true;                }                if (x + bsize >= w) {                    x = w - bsize;                    Vx = -Vx * inelasticity + jitter;                    collision_x = true;                }                if (y <= 0) {                    y = 0;                    Vy = -Vy * inelasticity + jitter;                    collision_y = true;                }                if (y + bsize >= h) {                    y = h - bsize;                    Vx *= inelasticity;                    Vy = -Vy * inelasticity + jitter;                    collision_y = true;                }                Vy = Vy + Ay * deltaT;                Vx = Vx + Ax * deltaT;                        if (indexDirection == UP) {                    index++;                 }                if (indexDirection == DOWN) {                    --index;                 }                if (index+1 == nImgs) {                    indexDirection = DOWN;                }                if (index == 0) {                    indexDirection = UP;                }            }        }  // End Ball class    } // End Demo class     /**     * The DemoControls class provides controls for choosing which colored     * ball to display, the size of the balls and whether or not to clear     * the drawing surface.     */    static class DemoControls extends JPanel implements ActionListener {        Demo demo;        JToolBar toolbar;        JComboBox combo;        public DemoControls(Demo demo) {            this.demo = demo;            setBackground(Color.gray);            add(toolbar = new JToolBar());            toolbar.setFloatable(false);            addTool("Clear", true);            addTool("R", demo.balls[0].isSelected);            addTool("O", demo.balls[1].isSelected);            addTool("Y", demo.balls[2].isSelected);            addTool("G", demo.balls[3].isSelected);            addTool("B", demo.balls[4].isSelected);            addTool("I", demo.balls[5].isSelected);            addTool("V", demo.balls[6].isSelected);            add(combo = new JComboBox());            combo.addItem("10");            combo.addItem("20");            combo.addItem("30");            combo.addItem("40");            combo.addItem("50");            combo.addItem("60");            combo.addItem("70");            combo.addItem("80");            combo.setSelectedIndex(3);            combo.addActionListener(this);        }        public void addTool(String str, boolean state) {            JButton b = (JButton) toolbar.add(new JButton(str));            b.setBackground(state ? Color.green : Color.lightGray);            b.setSelected(state);            b.addActionListener(this);        }        public void actionPerformed(ActionEvent e) {            if (e.getSource() instanceof JComboBox) {                int size = Integer.parseInt((String) combo.getSelectedItem());                for (int i = 0; i < demo.balls.length; i++) {                    demo.balls[i].makeImages(size);                }                return;            }            JButton b = (JButton) e.getSource();            b.setSelected(!b.isSelected());            b.setBackground(b.isSelected() ? Color.green : Color.lightGray);            if (b.getText().equals("Clear")) {                demo.clearDemo = b.isSelected();            } else {                int index = toolbar.getComponentIndex(b)-1;                demo.balls[index].isSelected = b.isSelected();            }        }    } // End DemoControls    public static void main(String argv[]) {        final Balls demo = new Balls();        demo.init();        Frame f = new Frame("Java 2D(TM) Demo - Balls");        f.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {System.exit(0);}            public void windowDeiconified(WindowEvent e) { demo.start(); }            public void windowIconified(WindowEvent e) { demo.stop(); }        });        f.add(demo);        f.pack();        f.setSize(new Dimension(400,300));        f.show();        demo.start();    }} // End Balls class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人精品在线| 欧美电影在哪看比较好| 欧美一级视频精品观看| 亚洲美女一区二区三区| 日本高清不卡视频| 国产精品网站导航| 国产91精品久久久久久久网曝门| 欧美岛国在线观看| 国产成人无遮挡在线视频| 日韩精品一区二区三区在线| 天天综合天天综合色| 欧美精品丝袜久久久中文字幕| 亚洲国产另类精品专区| 欧美精品精品一区| 欧美成人r级一区二区三区| 国产婷婷色一区二区三区在线| 国产最新精品免费| 中文字幕第一区二区| caoporn国产精品| 亚洲一二三区视频在线观看| 91国偷自产一区二区使用方法| 亚洲综合在线观看视频| 欧美三级电影网站| 精品一区二区三区影院在线午夜| 久久久久久久久免费| 97久久人人超碰| 蜜桃视频在线观看一区| 日日摸夜夜添夜夜添亚洲女人| 欧美亚洲国产怡红院影院| 美女视频黄免费的久久| 欧美国产日本视频| 日韩欧美的一区二区| 一本到高清视频免费精品| 免费观看91视频大全| 有码一区二区三区| 久久精品亚洲国产奇米99| 在线观看中文字幕不卡| 国产精品性做久久久久久| 亚洲第一电影网| 亚洲黄色免费网站| 国产精品欧美久久久久一区二区| 欧美日本一道本| 97精品电影院| 成人黄色小视频| 狠狠色丁香婷综合久久| 亚洲一区二区三区中文字幕| 国产精品欧美久久久久无广告 | 亚洲国产另类精品专区| 国产精品国模大尺度视频| 国产女人18水真多18精品一级做| 日韩三级电影网址| 精品欧美乱码久久久久久| 在线不卡免费av| 欧美日韩不卡在线| 日韩无一区二区| 日韩欧美二区三区| 久久久久久久久97黄色工厂| 国产夜色精品一区二区av| 国产目拍亚洲精品99久久精品| 精品福利在线导航| 欧美激情资源网| 国产精品久久精品日日| 亚洲免费在线观看视频| 亚洲国产另类精品专区| 三级久久三级久久| 国产99久久久精品| 成人精品鲁一区一区二区| 91色|porny| 欧美精品tushy高清| 精品成人一区二区| 亚洲欧洲国产日韩| 天天综合网 天天综合色| 国产美女精品在线| 日本精品一区二区三区高清 | 亚洲色大成网站www久久九九| 日韩成人精品在线观看| 欧美国产精品专区| 久久久99精品免费观看不卡| 亚洲精品写真福利| 麻豆成人久久精品二区三区小说| 国产91精品精华液一区二区三区| 91久久精品午夜一区二区| 久久综合久色欧美综合狠狠| 亚洲色图欧洲色图婷婷| 极品少妇xxxx精品少妇偷拍 | 国产盗摄一区二区三区| 91精品啪在线观看国产60岁| 国产精品视频线看| 激情都市一区二区| 日韩一区二区三区免费看| 一区二区三区免费观看| 99久久99久久免费精品蜜臀| 欧美一区二区在线观看| 亚洲私人黄色宅男| av成人老司机| 国产欧美1区2区3区| 国产制服丝袜一区| 久久久美女艺术照精彩视频福利播放| 午夜精品久久久久久久久| 在线免费观看不卡av| 亚洲乱码日产精品bd| 99综合电影在线视频| 成人欧美一区二区三区黑人麻豆| 国产一区二区三区蝌蚪| 日韩免费高清av| 国产精品2024| 国产精品久久免费看| 91在线一区二区| 亚洲福利视频一区二区| 欧美一激情一区二区三区| 久久国产精品99久久人人澡| 日韩一区二区在线看| 国产高清成人在线| 一区二区在线观看免费视频播放| 在线精品视频免费播放| 日韩一区精品字幕| 国产欧美日韩亚州综合| 色94色欧美sute亚洲线路一ni| 亚洲国产综合人成综合网站| 91精品国产全国免费观看| 国产综合久久久久久鬼色 | 欧美日韩精品久久久| 精品中文av资源站在线观看| 中文字幕永久在线不卡| 欧美日韩成人高清| 99久精品国产| 久久国产生活片100| 一区二区三区在线观看欧美| 91精品国产综合久久婷婷香蕉| 国产福利91精品| 日韩成人伦理电影在线观看| 亚洲天堂精品在线观看| 欧美电影免费观看高清完整版在| heyzo一本久久综合| 国产真实精品久久二三区| 一区二区久久久| 国产免费观看久久| 欧美精品一区二区蜜臀亚洲| 欧美精品粉嫩高潮一区二区| 99re热这里只有精品免费视频| 久久精品国产精品青草| 亚洲国产精品久久一线不卡| 中日韩免费视频中文字幕| 久久久噜噜噜久噜久久综合| 日韩视频免费直播| 91麻豆精品国产91久久久久| 欧美在线短视频| 欧美在线观看视频在线| 成人av免费在线观看| 亚洲人成小说网站色在线 | 欧美色窝79yyyycom| 色8久久人人97超碰香蕉987| 99久久国产免费看| 91麻豆国产在线观看| 色婷婷狠狠综合| 欧美在线一区二区| 欧美精品亚洲一区二区在线播放| 欧美久久久久久久久久 | 成人av综合一区| 91老师片黄在线观看| 在线国产亚洲欧美| 欧美乱妇20p| 国产精品女同互慰在线看| 国产精品国产自产拍高清av王其| 国产精品传媒视频| 亚洲五月六月丁香激情| 六月婷婷色综合| 色综合久久综合| 91精品国产全国免费观看 | 精品国产sm最大网站| 亚洲人成网站影音先锋播放| 亚洲午夜在线观看视频在线| 久久99国产精品久久99| bt7086福利一区国产| 欧美一级欧美一级在线播放| 国产日产欧美一区| 日韩国产在线一| 成人的网站免费观看| 欧美一区二区精美| 亚洲精品高清在线| 国产黑丝在线一区二区三区| 欧美日韩1区2区| 自拍偷拍亚洲欧美日韩| 国模套图日韩精品一区二区| 欧美日韩国产高清一区二区三区 | 久久久亚洲欧洲日产国码αv| 亚洲男女一区二区三区| 国产91丝袜在线18| 久久久久久久久久久99999| 青草国产精品久久久久久| 在线一区二区视频| 中文字幕一区三区| 成人综合在线网站| 国产欧美综合在线观看第十页 | 亚洲视频在线一区二区| 丁香五精品蜜臀久久久久99网站| 精品日韩99亚洲| 国产99久久久国产精品潘金| 2021久久国产精品不只是精品| 久久国内精品自在自线400部|