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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? balls.java

?? 功能強(qiáng)大的繪圖演示程序
?? JAVA
字號(hào):
/* * @(#)Balls.java	1.27 04/07/26 *  * Copyright (c) 2004 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: *  * -Redistribution of source code must retain the above copyright notice, this *  list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduce 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 MIDROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS 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 THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility. *//* * @(#)Balls.java	1.24 03/10/26 */package java2d.demos.Mix;import java.awt.*;import java.awt.image.*;import java.awt.event.*;import javax.swing.*;import java2d.AnimatingControlsSurface;import java2d.CustomControls;/** * Animated color bouncing balls with custom controls. */public class Balls extends AnimatingControlsSurface {    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 long now, deltaT, lasttime;    private boolean active;    protected Ball balls[] = new Ball[colors.length];    protected boolean clearToggle;    protected JComboBox combo;    public Balls() {        setBackground(Color.white);        for (int i = 0; i < colors.length; i++) {            balls[i] = new Ball(colors[i], 30);        }        balls[0].isSelected = true;        balls[3].isSelected = true;        balls[4].isSelected = true;        balls[6].isSelected = true;        setControls(new Component[] { new DemoControls(this) });    }    public void reset(int w, int h) {        if (w > 400 && h > 100) {            combo.setSelectedIndex(5);        }    }    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;            }            clearToggle = true;        }    }    public void render(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 static void main(String argv[]) {        createDemoFrame(new Balls());    }    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 (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);            }        }                private final int blend(int fg, int bg, float fgfactor) {            return (int) (bg + (fg - bg) * fgfactor);        }                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 class Ball    class DemoControls extends CustomControls implements ActionListener {        Balls demo;        JToolBar toolbar;        public DemoControls(Balls demo) {            super(demo.name);            this.demo = demo;            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(2);            combo.addActionListener(this);        }        public void addTool(String str, boolean state) {            JToggleButton b = (JToggleButton) toolbar.add(new JToggleButton(str));             b.setFocusPainted(false);            b.setSelected(state);            b.addActionListener(this);            int width = b.getPreferredSize().width;            Dimension prefSize = new Dimension(width, 21);            b.setPreferredSize(prefSize);            b.setMaximumSize(prefSize);            b.setMinimumSize(prefSize);        }        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;            }            JToggleButton b = (JToggleButton) e.getSource();            if (b.getText().equals("Clear")) {                demo.clearSurface = b.isSelected();            }             else {                int index = toolbar.getComponentIndex(b)-1;                demo.balls[index].isSelected = b.isSelected();            }        }        public Dimension getPreferredSize() {            return new Dimension(200,40);        }        public void run() {            try { thread.sleep(999); } catch (Exception e) { return; }            Thread me = Thread.currentThread();            ((AbstractButton) toolbar.getComponentAtIndex(2)).doClick();            while (thread == me) {                try {                    thread.sleep(222);                } catch (InterruptedException e) { return; }                if (demo.clearToggle) {                    if (demo.clearSurface) {                        combo.setSelectedIndex((int) (Math.random()*5));                    }                    ((AbstractButton) toolbar.getComponentAtIndex(0)).doClick();                    demo.clearToggle = false;                }            }            thread = null;        }    } // End DemoControls} // End Balls

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产视频一区二区| 欧美亚洲高清一区| 欧美一区三区二区| 亚洲成人免费在线| 欧美日韩国产综合久久| 日本中文在线一区| 日韩视频一区在线观看| 极品尤物av久久免费看| 日韩亚洲欧美在线观看| 51精品国自产在线| 高清视频一区二区| 亚洲欧洲美洲综合色网| 一本色道久久综合狠狠躁的推荐 | 岛国av在线一区| 亚洲猫色日本管| 3atv在线一区二区三区| 欧美精品tushy高清| 国产成人精品在线看| 五月天视频一区| 国产精品欧美极品| 欧美日韩国产一级二级| 51午夜精品国产| 久久人人97超碰com| 在线免费亚洲电影| 不卡欧美aaaaa| 亚洲成人黄色小说| 国产精选一区二区三区| 免费观看在线色综合| 一区二区三区四区不卡在线| 欧美一区二区人人喊爽| 久久久久亚洲综合| 一区二区三区**美女毛片| 奇米777欧美一区二区| 福利一区二区在线观看| 欧美撒尿777hd撒尿| 色老头久久综合| 在线欧美小视频| 精品久久久久久久久久久久包黑料| 色婷婷亚洲精品| 久久综合九色综合97婷婷女人 | 日韩三级在线观看| 欧美激情综合五月色丁香| 久久亚洲综合色一区二区三区| 综合自拍亚洲综合图不卡区| 日韩美女久久久| 久久国产精品色| 国产成人精品亚洲午夜麻豆| 欧美日韩一区三区| 亚洲免费av观看| 99久久精品国产精品久久| 国产三级精品三级| 亚洲欧美偷拍三级| 成人精品免费网站| 国产视频一区在线观看| 日韩毛片高清在线播放| 成人性色生活片免费看爆迷你毛片| 日韩欧美高清一区| 综合久久综合久久| gogo大胆日本视频一区| 精品视频在线看| 亚洲成人动漫av| 在线播放国产精品二区一二区四区| 亚洲一区二区在线观看视频| 国产精品亚洲专一区二区三区| 亚洲成人激情自拍| 欧美精品一区二区三区在线播放 | 欧美mv日韩mv国产| 九九视频精品免费| 久久久久久久久久久久久夜| 国产一区二区三区四区五区入口| 波多野洁衣一区| 亚洲精品国产品国语在线app| 日本va欧美va瓶| 久久久亚洲精华液精华液精华液| 国产成人精品免费视频网站| 中文字幕一区二区三区av| 在线中文字幕不卡| 国产制服丝袜一区| 亚洲欧美另类久久久精品| 欧美一区二区三区在| 喷水一区二区三区| 2023国产一二三区日本精品2022| 粉嫩av一区二区三区| 一区二区三区四区不卡在线 | 欧美偷拍一区二区| 国产精品一区二区三区乱码| 一区二区三区在线视频免费观看| 欧美一卡2卡3卡4卡| 成人av片在线观看| 日本vs亚洲vs韩国一区三区二区| 中文成人av在线| 精品国精品自拍自在线| 日本韩国欧美在线| 国产精选一区二区三区| 青青草视频一区| 一区二区三区在线看| 国产日韩三级在线| 2014亚洲片线观看视频免费| 欧洲亚洲国产日韩| 99国产精品99久久久久久| 国产尤物一区二区| 美女久久久精品| 欧美精品777| 欧美在线一区二区| 91一区二区在线| 天天色天天操综合| 亚洲国产一区二区三区青草影视| 国产精品久久久久影院老司| 欧美三级视频在线观看| 日本精品一区二区三区四区的功能| 国产一区二区三区高清播放| 国产在线视视频有精品| 美女视频网站黄色亚洲| 国产精品一区二区在线观看网站| 玖玖九九国产精品| 国模娜娜一区二区三区| 国产一区二区三区在线看麻豆 | 91精品国产综合久久久久久久久久 | 欧美电影免费观看高清完整版 | 9i在线看片成人免费| 99久久精品99国产精品| 91在线观看成人| 欧美三级电影精品| 欧美成人女星排名| 国产欧美一区二区精品婷婷| 国产精品系列在线| 亚洲欧美aⅴ...| 日韩国产精品久久久久久亚洲| 久久精品国产久精国产爱| 粉嫩aⅴ一区二区三区四区五区| 99精品在线观看视频| 亚洲精品一二三| 中文字幕亚洲一区二区va在线| 欧美国产视频在线| 亚洲日本在线天堂| 天天影视网天天综合色在线播放| 天堂成人国产精品一区| 欧美精品一区二区三区蜜臀| 日本aⅴ亚洲精品中文乱码| 天堂久久久久va久久久久| 国产一级精品在线| 欧美午夜理伦三级在线观看| 亚洲尤物在线视频观看| 精彩视频一区二区| 91久久精品一区二区三区| 精品99一区二区三区| 亚洲精品日日夜夜| 国产一区二区精品久久99| 欧美视频在线一区二区三区 | 91麻豆6部合集magnet| 欧美日韩国产片| 一区二区三区精密机械公司| 国产真实精品久久二三区| 欧美午夜免费电影| 亚洲精品一二三区| 久久精品99久久久| 国产伦精一区二区三区| 欧美系列日韩一区| 国产精品久久久久婷婷二区次| 麻豆精品在线视频| 欧美精品在线一区二区三区| 亚洲最新在线观看| 色呦呦网站一区| 亚洲欧美成人一区二区三区| caoporm超碰国产精品| 国产精品久久影院| av成人老司机| 国产成人午夜精品影院观看视频 | 亚洲精品水蜜桃| 欧美在线观看一区| 亚洲韩国精品一区| 3d成人h动漫网站入口| 欧美日韩一本到| 粗大黑人巨茎大战欧美成人| 欧美精品一区二区三区在线| 激情小说亚洲一区| xvideos.蜜桃一区二区| 国产福利一区二区三区视频在线| 精品国产一区二区精华| 国产高清一区日本| 一区二区三区免费看视频| 日韩一区二区精品葵司在线| 国产精品自在欧美一区| 综合久久久久综合| 日韩一级免费一区| 99精品桃花视频在线观看| 99久久婷婷国产综合精品电影| 自拍偷拍欧美精品| 91精品视频网| av网站一区二区三区| 三级不卡在线观看| 国产日韩av一区| 欧美日韩国产乱码电影| 欧美日韩国产一级片| 三级精品在线观看| 国产精品第四页| 欧美高清精品3d| 97久久精品人人做人人爽50路| 奇米精品一区二区三区四区| 亚洲永久免费视频|