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

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

?? stars3d.java

?? 功能強大的繪圖演示程序
?? JAVA
字號:
/* * @(#)Stars3D.java	1.28 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. *//* * @(#)Stars3D.java	1.25 03/10/26 */package java2d.demos.Mix;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import java.awt.font.FontRenderContext;import javax.swing.*;import java2d.ControlsSurface;import java2d.CustomControls;/** * Generate a 3D text shape with GeneralPath, render a number of small * multi-colored rectangles and then render the 3D text shape. */public class Stars3D extends ControlsSurface {    private static Color colors[] = { Color.red, Color.green, Color.white };    private static AffineTransform at = AffineTransform.getTranslateInstance(-5, -5);    private Shape shape, tshape;    private Shape ribbon;    protected int fontSize = 72;    protected String text = "Java2D";    protected int numStars = 300;    private DemoControls controls;    public Stars3D() {        setBackground(Color.black);        setControls(new Component[] { new DemoControls(this) });    }    public void render(int w, int h, Graphics2D g2) {        Rectangle2D rect = new Rectangle2D.Double();        for (int i = 0; i < numStars; i++) {            g2.setColor(colors[i%3]);            g2.setComposite(AlphaComposite.getInstance(                         AlphaComposite.SRC_OVER, (float) Math.random()));            rect.setRect(w*Math.random(), h*Math.random(),2,2);            g2.fill(rect);        }        FontRenderContext frc = g2.getFontRenderContext();        Font font = new Font("serif.bolditalic", Font.PLAIN, fontSize);        shape = font.createGlyphVector(frc, text).getOutline();        tshape = at.createTransformedShape(shape);        PathIterator pi = shape.getPathIterator(null);                float seg[] = new float[6];        float tseg[] = new float[6];                GeneralPath working = new GeneralPath(GeneralPath.WIND_NON_ZERO);        float x=0, y=0; // Current point on the path        float tx=0, ty=0; // Transformed path point        float cx=0, cy=0; // Last moveTo point, for SEG_CLOSE        float tcx=0, tcy=0; // Transformed last moveTo point                //        // Iterate through the Shape and build the ribbon        // by adding general path objects.        //        while(!pi.isDone()) {            int segType = pi.currentSegment(seg);            switch(segType) {                case PathIterator.SEG_MOVETO:                        at.transform(seg, 0, tseg, 0, 1);                        x = seg[0];                        y = seg[1];                        tx = tseg[0];                        ty = tseg[1];                        cx = x;                        cy = y;                        tcx = tx;                        tcy = ty;                        break;                case PathIterator.SEG_LINETO:                        at.transform(seg, 0, tseg, 0, 1);                        if (Line2D.relativeCCW(x, y, tx, ty,                                               seg[0], seg[1]) < 0) {                            working.moveTo(x, y);                            working.lineTo(seg[0], seg[1]);                            working.lineTo(tseg[0], tseg[1]);                            working.lineTo(tx, ty);                            working.lineTo(x, y);                        } else {                            working.moveTo(x, y);                            working.lineTo(tx, ty);                            working.lineTo(tseg[0], tseg[1]);                            working.lineTo(seg[0], seg[1]);                            working.lineTo(x, y);                        }                                                x = seg[0];                        y = seg[1];                        tx = tseg[0];                        ty = tseg[1];                        break;                                        case PathIterator.SEG_QUADTO:                        at.transform(seg, 0, tseg, 0, 2);                        if (Line2D.relativeCCW(x, y, tx, ty,                                               seg[2], seg[3]) < 0) {                            working.moveTo(x, y);                            working.quadTo(seg[0], seg[1],                                           seg[2], seg[3]);                            working.lineTo(tseg[2], tseg[3]);                            working.quadTo(tseg[0], tseg[1],                                           tx, ty);                            working.lineTo(x, y);                        } else {                            working.moveTo(x, y);                            working.lineTo(tx, ty);                            working.quadTo(tseg[0], tseg[1],                                           tseg[2], tseg[3]);                            working.lineTo(seg[2], seg[3]);                            working.quadTo(seg[0], seg[1],                                           x, y);                        }                                        x = seg[2];                        y = seg[3];                        tx = tseg[2];                        ty = tseg[3];                        break;                        case PathIterator.SEG_CUBICTO:                        at.transform(seg, 0, tseg, 0, 3);                        if (Line2D.relativeCCW(x, y, tx, ty,                                               seg[4], seg[5]) < 0) {                            working.moveTo(x, y);                            working.curveTo(seg[0], seg[1],                                            seg[2], seg[3],                                            seg[4], seg[5]);                            working.lineTo(tseg[4], tseg[5]);                            working.curveTo(tseg[2], tseg[3],                                            tseg[0], tseg[1],                                            tx, ty);                            working.lineTo(x, y);                        } else {                            working.moveTo(x, y);                            working.lineTo(tx, ty);                            working.curveTo(tseg[0], tseg[1],                                            tseg[2], tseg[3],                                            tseg[4], tseg[5]);                            working.lineTo(seg[4], seg[5]);                            working.curveTo(seg[2], seg[3],                                            seg[0], seg[1],                                            x, y);                        }                                        x = seg[4];                        y = seg[5];                        tx = tseg[4];                        ty = tseg[5];                        break;                        case PathIterator.SEG_CLOSE:                        if (Line2D.relativeCCW(x, y, tx, ty,                                               cx, cy) < 0) {                            working.moveTo(x, y);                            working.lineTo(cx, cy);                            working.lineTo(tcx, tcy);                            working.lineTo(tx, ty);                            working.lineTo(x, y);                        } else {                            working.moveTo(x, y);                            working.lineTo(tx, ty);                            working.lineTo(tcx, tcy);                            working.lineTo(cx, cy);                            working.lineTo(x, y);                        }                        x = cx;                         y = cy;                        tx = tcx;                        ty = tcy;            }            pi.next();        } // while        ribbon = working;        if (composite != null) {            g2.setComposite(composite);        } else {            g2.setComposite(AlphaComposite.SrcOver);        }        Rectangle r = shape.getBounds();        g2.translate(w*.5-r.width*.5,h*.5+r.height*.5);        g2.setColor(Color.blue);        g2.fill(tshape);        g2.setColor(new Color(255, 255, 255, 200));        g2.fill(ribbon);        g2.setColor(Color.white);        g2.fill(shape);        g2.setColor(Color.blue);        g2.draw(shape);    }    public static void main(String argv[]) {        createDemoFrame(new Stars3D());    }    static class DemoControls extends CustomControls implements ActionListener {        Stars3D demo;        JTextField tf1, tf2;        public DemoControls(Stars3D demo) {            super(demo.name);            this.demo = demo;            JLabel l = new JLabel("  Text:");            l.setForeground(Color.black);            add(l);            add(tf1 = new JTextField(demo.text));            tf1.setPreferredSize(new Dimension(60,20));            tf1.addActionListener(this);            l = new JLabel("  Size:");            l.setForeground(Color.black);            add(l);            add(tf2 = new JTextField(String.valueOf(demo.fontSize)));            tf2.setPreferredSize(new Dimension(30,20));            tf2.addActionListener(this);        }        public void actionPerformed(ActionEvent e) {            try {                 if (e.getSource().equals(tf1)) {                    demo.text = tf1.getText().trim();                } else if (e.getSource().equals(tf2)) {                    demo.fontSize = Integer.parseInt(tf2.getText().trim());                    if (demo.fontSize < 10) {                        demo.fontSize = 10;                    }                }                demo.repaint();            } catch (Exception ex) {}        }        public Dimension getPreferredSize() {            return new Dimension(200,37);        }        public void run() {            Thread me = Thread.currentThread();            try { thread.sleep(999); } catch (Exception e) { return; }            int width = getSize().width;            int size[] = { (int)(width*.25), (int)(width*.35)};            String str[] = { "JAVA", "J2D" };            while (thread == me) {                for (int i = 0; i < 2; i++) {                    demo.fontSize = size[i];                    tf2.setText(String.valueOf(demo.fontSize));                    tf1.setText(demo.text = str[i]);                    demo.repaint();                    try {                        thread.sleep(5555);                    } catch (InterruptedException e) { return; }                }            }            thread = null;        }    } // End DemoControls} // End Stars3D

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合久久综合| 亚洲综合免费观看高清完整版| 91天堂素人约啪| 天天综合网 天天综合色| 2023国产精华国产精品| 欧美日韩免费高清一区色橹橹| 国产麻豆视频一区| 免费成人性网站| 亚洲bt欧美bt精品| 一区二区三区在线观看网站| 久久久九九九九| 欧美大片免费久久精品三p| 欧美在线免费播放| 99国产精品国产精品久久| 久久91精品国产91久久小草| 石原莉奈在线亚洲二区| 一区二区三区日韩在线观看| 亚洲欧洲国产日韩| 国产视频一区二区在线观看| 日韩精品在线看片z| 在线电影院国产精品| 欧美日韩国产高清一区| 欧美中文字幕一区二区三区 | 亚洲国产精品av| 久久综合九色综合97婷婷| 精品三级av在线| 日韩精品一区二区三区在线播放| 亚洲精品日韩综合观看成人91| 国产精品色呦呦| 中文字幕的久久| 一区免费观看视频| 亚洲日本成人在线观看| 亚洲激情校园春色| 亚洲成人手机在线| 免费在线观看精品| 精品一区二区三区免费播放| 国产麻豆日韩欧美久久| 成人av免费在线观看| 日本道色综合久久| 欧美日韩精品免费观看视频| 欧美一级精品大片| 久久精品综合网| 亚洲人123区| 日韩精品免费视频人成| 国产一区二区三区四区五区入口 | 日本不卡123| 国产一区999| 91黄色激情网站| 欧美一级在线观看| 国产精品美女久久福利网站| 亚洲免费色视频| 蜜臀精品久久久久久蜜臀| 国产精品主播直播| 欧美在线观看视频在线| 免费观看91视频大全| 国产成人在线观看免费网站| 色哟哟精品一区| 欧美电影免费提供在线观看| 日韩精品在线网站| 1024精品合集| 国产一区二区三区在线观看精品 | 中文一区二区在线观看| 亚洲福利视频一区| 国产69精品久久99不卡| 欧美三片在线视频观看| 国产欧美一区二区精品忘忧草| 亚洲一二三区视频在线观看| 国产福利91精品| 欧美男女性生活在线直播观看| 中文字幕高清不卡| 毛片一区二区三区| 欧美日韩三级一区| 中文字幕亚洲不卡| 国产在线视频不卡二| 91精品国产色综合久久ai换脸| 国产精品网友自拍| 国产成人免费在线观看| 欧美电视剧在线看免费| 天天爽夜夜爽夜夜爽精品视频| 91丝袜美女网| 亚洲少妇最新在线视频| 91在线播放网址| 亚洲特级片在线| 另类小说一区二区三区| 樱桃视频在线观看一区| 国产成人在线电影| 国产亚洲污的网站| 国产一区二区在线视频| 精品欧美黑人一区二区三区| 日韩极品在线观看| 91精品国产综合久久久久| 亚洲大片精品永久免费| 欧美探花视频资源| 天天操天天干天天综合网| 欧美日韩一区视频| 一区二区三区免费| 欧美日精品一区视频| 亚洲第一成人在线| 日韩欧美在线影院| 狠狠狠色丁香婷婷综合激情 | 久久综合视频网| 国产 欧美在线| 亚洲色欲色欲www| 欧美日韩国产综合草草| 日本欧美加勒比视频| 久久综合九色综合欧美98| 成人综合日日夜夜| 亚洲美女电影在线| 在线播放91灌醉迷j高跟美女| 蜜桃av一区二区| 国产精品女同互慰在线看| 91丝袜高跟美女视频| 日韩国产精品久久久| 337p粉嫩大胆噜噜噜噜噜91av| 国产91精品露脸国语对白| 一区二区三区四区中文字幕| 欧美一区二区播放| 成人短视频下载| 日韩成人一级大片| 日本一区二区成人| 欧美一区二区三级| 一本大道久久a久久精品综合| 日韩电影在线观看网站| 中文乱码免费一区二区| 欧美一区二区三区视频免费| 成人午夜大片免费观看| 日韩精品久久理论片| 国产精品日韩精品欧美在线| 欧美日韩视频专区在线播放| 国产伦理精品不卡| 色综合久久精品| 国产一区二区三区最好精华液| 亚洲午夜免费福利视频| 国产精品久久久久影视| 日韩写真欧美这视频| 一本大道av一区二区在线播放| 国产在线视视频有精品| 日韩精品久久理论片| 亚洲欧美日韩在线播放| 国产亚洲精品中文字幕| 日韩三级中文字幕| 欧美日韩视频在线观看一区二区三区 | 天堂在线亚洲视频| 一区二区高清免费观看影视大全| 亚洲国产高清在线| 国产亚洲一区二区三区在线观看| 日韩欧美综合在线| 欧美成人a在线| 日韩欧美国产系列| 欧美一区二区三区视频在线| 欧美午夜不卡视频| 欧美精品色综合| 欧美高清一级片在线| 欧美人体做爰大胆视频| 欧美日韩中字一区| 91精品一区二区三区久久久久久| 欧美日韩另类一区| 欧美一级黄色录像| 精品久久五月天| 久久综合九色欧美综合狠狠| 国产亚洲一区二区在线观看| 欧美国产日韩a欧美在线观看| 国产免费观看久久| 综合分类小说区另类春色亚洲小说欧美 | 亚洲综合激情网| 天堂影院一区二区| 国产在线一区二区| 粉嫩av一区二区三区在线播放| 国产传媒欧美日韩成人| 国产xxx精品视频大全| eeuss影院一区二区三区| 在线免费观看日韩欧美| 制服视频三区第一页精品| 精品国产免费久久| 亚洲丝袜另类动漫二区| 午夜日韩在线观看| 国产精品一区在线观看你懂的| 成人av电影观看| 欧美日韩国产系列| www国产精品av| 一片黄亚洲嫩模| 久久精品99国产精品| 91影院在线观看| 日韩欧美www| 亚洲黄色免费电影| 欧美bbbbb| 欧美亚洲免费在线一区| 精品国产不卡一区二区三区| 中文字幕综合网| 免费成人在线网站| 欧美中文字幕一区二区三区 | 欧美在线观看视频一区二区三区 | 日韩av成人高清| 91一区二区在线观看| 久久综合五月天婷婷伊人| 有码一区二区三区| 不卡一区中文字幕| 久久综合色鬼综合色| 日韩精品乱码免费| 欧美特级限制片免费在线观看|