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

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

?? proxygraphics.java

?? 用java 實現屏幕取詞技術
?? JAVA
字號:
/*
 * ProxyGraphics.java
 *
 * Created on 2007年4月2日, 下午11:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package dyno.swing.beans;

import java.awt.Color;
import java.awt.Composite;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ImageObserver;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
import java.io.StreamTokenizer;
import java.io.StringReader;
import java.text.AttributedCharacterIterator;
import java.util.ArrayList;
import java.util.Map;

/**
 *
 * @author rehte
 */
public class ProxyGraphics extends Graphics2D {

    private Graphics2D proxy;
    private ArrayList<Text> texts = new ArrayList<Text>();

    /** Creates a new instance of ProxyGraphics */
    public ProxyGraphics(Graphics2D g2d) {
        proxy = g2d;
    }

    public void setTexts(ArrayList<Text> texts) {
        this.texts = texts;
    }

    public ArrayList<Text> getTexts() {
        return texts;
    }

    public void draw(Shape s) {
        proxy.draw(s);
    }

    public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
        return proxy.drawImage(img, xform, obs);
    }

    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
        proxy.drawImage(img, op, x, y);
    }

    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
        proxy.drawRenderedImage(img, xform);
    }

    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
        proxy.drawRenderableImage(img, xform);
    }

    public void drawString(String str, int x, int y) {
        if (str == null || str.length() == 0) {
            return;
        }
        int leftx = x;
        int topy = y - proxy.getFontMetrics().getAscent();
        int height = proxy.getFontMetrics().getHeight();
        StringBuilder builder = null;
        int pointer = 0;
        while (pointer < str.length()) {
            char c = str.charAt(pointer++);
            if (Character.isLetter(c)) {
                builder = new StringBuilder();
                while (Character.isLetter(c)) {
                    builder.append(c);
                    if (pointer == str.length()) {
                        break;
                    } else {
                        c = str.charAt(pointer++);
                    }
                }
                String s = builder.toString();
                Text text = new Text(s);
                int width = proxy.getFontMetrics().stringWidth(s);
                text.setBounds(leftx, topy, width, height);
                texts.add(text);
                leftx = x + proxy.getFontMetrics().stringWidth(str.substring(0, pointer));
                if (pointer == str.length()) {
                    break;
                } else {
                    if (!Character.isLetter(c)) {
                        pointer--;
                    }
                }
            }
        }
        proxy.drawString(str, x, y);
    }

    public void drawString(String str, float x, float y) {
        System.out.println("drawString1");
        proxy.drawString(str, x, y);
    }

    public void drawString(AttributedCharacterIterator iterator, int x, int y) {
        System.out.println("drawString2");
        proxy.drawString(iterator, x, y);
    }

    public void drawString(AttributedCharacterIterator iterator, float x, float y) {
        System.out.println("drawString3");
        proxy.drawString(iterator, x, y);
    }

    public void drawGlyphVector(GlyphVector g, float x, float y) {
        System.out.println("drawGlyphVector");
        proxy.drawGlyphVector(g, x, y);
    }

    public void fill(Shape s) {
        proxy.fill(s);
    }

    public boolean hit(Rectangle rect, Shape s, boolean onStroke) {
        return proxy.hit(rect, s, onStroke);
    }

    public GraphicsConfiguration getDeviceConfiguration() {
        return proxy.getDeviceConfiguration();
    }

    public void setComposite(Composite comp) {
        proxy.setComposite(comp);
    }

    public void setPaint(Paint paint) {
        proxy.setPaint(paint);
    }

    public void setStroke(Stroke s) {
        proxy.setStroke(s);
    }

    public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue) {
        proxy.setRenderingHint(hintKey, hintValue);
    }

    public Object getRenderingHint(RenderingHints.Key hintKey) {
        return proxy.getRenderingHint(hintKey);
    }

    public void setRenderingHints(Map<?, ?> hints) {
        proxy.setRenderingHints(hints);
    }

    public void addRenderingHints(Map<?, ?> hints) {
        proxy.addRenderingHints(hints);
    }

    public RenderingHints getRenderingHints() {
        return proxy.getRenderingHints();
    }

    public void translate(int x, int y) {
        proxy.translate(x, y);
    }

    public void translate(double tx, double ty) {
        proxy.translate(tx, ty);
    }

    public void rotate(double theta) {
        proxy.rotate(theta);
    }

    public void rotate(double theta, double x, double y) {
        proxy.rotate(theta, x, y);
    }

    public void scale(double sx, double sy) {
        proxy.scale(sx, sy);
    }

    public void shear(double shx, double shy) {
        proxy.shear(shx, shy);
    }

    public void transform(AffineTransform Tx) {
        proxy.transform(Tx);
    }

    public void setTransform(AffineTransform Tx) {
        proxy.setTransform(Tx);
    }

    public AffineTransform getTransform() {
        return proxy.getTransform();
    }

    public Paint getPaint() {
        return proxy.getPaint();
    }

    public Composite getComposite() {
        return proxy.getComposite();
    }

    public void setBackground(Color color) {
        proxy.setBackground(color);
    }

    public Color getBackground() {
        return proxy.getBackground();
    }

    public Stroke getStroke() {
        return proxy.getStroke();
    }

    public void clip(Shape s) {
        proxy.clip(s);
    }

    public FontRenderContext getFontRenderContext() {
        return proxy.getFontRenderContext();
    }

    public Graphics create() {
        ProxyGraphics pg = new ProxyGraphics((Graphics2D) proxy.create());
        pg.setTexts(this.getTexts());
        return pg;
    }

    public Color getColor() {
        return proxy.getColor();
    }

    public void setColor(Color c) {
        proxy.setColor(c);
    }

    public void setPaintMode() {
        proxy.setPaintMode();
    }

    public void setXORMode(Color c1) {
        proxy.setXORMode(c1);
    }

    public Font getFont() {
        return proxy.getFont();
    }

    public void setFont(Font font) {
        proxy.setFont(font);
    }

    public FontMetrics getFontMetrics(Font f) {
        return proxy.getFontMetrics(f);
    }

    public Rectangle getClipBounds() {
        return proxy.getClipBounds();
    }

    public void clipRect(int x, int y, int width, int height) {
        proxy.clipRect(x, y, width, height);
    }

    public void setClip(int x, int y, int width, int height) {
        proxy.setClip(x, y, width, height);
    }

    public Shape getClip() {
        return proxy.getClip();
    }

    public void setClip(Shape clip) {
        proxy.setClip(clip);
    }

    public void copyArea(int x, int y, int width, int height, int dx, int dy) {
        proxy.copyArea(x, y, width, height, dx, dy);
    }

    public void drawLine(int x1, int y1, int x2, int y2) {
        proxy.drawLine(x1, y1, x2, y2);
    }

    public void fillRect(int x, int y, int width, int height) {
        proxy.fillRect(x, y, width, height);
    }

    public void clearRect(int x, int y, int width, int height) {
        proxy.clearRect(x, y, width, height);
    }

    public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
        proxy.drawRoundRect(x, y, width, height, arcWidth, arcHeight);
    }

    public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
        proxy.fillRoundRect(x, y, width, height, arcWidth, arcHeight);
    }

    public void drawOval(int x, int y, int width, int height) {
        proxy.drawOval(x, y, width, height);
    }

    public void fillOval(int x, int y, int width, int height) {
        proxy.fillOval(x, y, width, height);
    }

    public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
        proxy.drawArc(x, y, width, height, startAngle, arcAngle);
    }

    public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
        proxy.fillArc(x, y, width, height, startAngle, arcAngle);
    }

    public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) {
        proxy.drawPolyline(xPoints, yPoints, nPoints);
    }

    public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) {
        proxy.drawPolygon(xPoints, yPoints, nPoints);
    }

    public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) {
        proxy.fillPolygon(xPoints, yPoints, nPoints);
    }

    public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
        return proxy.drawImage(img, x, y, observer);
    }

    public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) {
        return proxy.drawImage(img, x, y, width, height, observer);
    }

    public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) {
        return proxy.drawImage(img, x, y, bgcolor, observer);
    }

    public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) {
        return proxy.drawImage(img, x, y, width, height, bgcolor, observer);
    }

    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) {
        return proxy.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);
    }

    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer) {
        return drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);
    }

    public void dispose() {
        proxy.dispose();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区精品久久91| 日韩一区二区在线播放| 欧美日韩成人在线一区| 久久一二三国产| 亚洲成人中文在线| 国产成人精品1024| 欧美精品123区| 亚洲天堂福利av| 国产乱一区二区| 日韩精品一区二区三区swag| 亚洲天天做日日做天天谢日日欢| 久久不见久久见免费视频7| 一本一道综合狠狠老| 日韩精品一区二区在线观看| 亚洲欧美激情视频在线观看一区二区三区| 激情成人午夜视频| 777色狠狠一区二区三区| 亚洲精品一卡二卡| 成人免费av在线| 日本一区二区成人| 九色porny丨国产精品| 欧美日韩三级视频| 亚洲自拍偷拍网站| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品一区二区三区网站| 91麻豆精品国产91久久久| 亚洲在线视频免费观看| 99re成人在线| 亚洲欧美日韩精品久久久久| av一二三不卡影片| 欧美国产激情二区三区| 国产精品1区2区3区| 久久久精品人体av艺术| 精品一区二区三区免费播放| 日韩精品一区二区三区swag| 久久99精品一区二区三区三区| 91精品国产入口| 美洲天堂一区二卡三卡四卡视频 | 久久网站热最新地址| 美女视频免费一区| 色婷婷久久一区二区三区麻豆| 丝袜美腿一区二区三区| 成人国产精品免费网站| 久久亚洲私人国产精品va媚药| 美女脱光内衣内裤视频久久网站| 欧美精品久久天天躁| 日韩精品电影在线| 欧美一区二区三区的| 久久99这里只有精品| www成人在线观看| 高清在线观看日韩| 亚洲欧美中日韩| 中文字幕在线播放不卡一区| 成人免费不卡视频| 亚洲成人激情社区| 日韩欧美色电影| 丁香激情综合五月| 一区二区三区精品视频| 91精品在线免费观看| 精品一区二区三区免费观看| 国产精品美女久久福利网站| 色综合天天狠狠| 日日夜夜精品视频天天综合网| 精品久久久久久亚洲综合网| 97久久久精品综合88久久| 天天影视色香欲综合网老头| 久久久久久综合| 色八戒一区二区三区| 久久精品久久99精品久久| 亚洲欧洲三级电影| 欧美一级高清大全免费观看| 成人一区二区视频| 石原莉奈在线亚洲二区| 中文在线资源观看网站视频免费不卡| 91成人在线观看喷潮| 国产一区二区三区四区五区美女| 一区二区三区毛片| 欧美国产禁国产网站cc| 欧美一区二区免费| 色屁屁一区二区| 国产精品一级片| 天堂va蜜桃一区二区三区漫画版 | 久久精品久久久精品美女| 亚洲精品菠萝久久久久久久| 2023国产精品自拍| 欧美日韩视频在线观看一区二区三区| 国产成人精品三级| 麻豆精品视频在线观看免费| 亚洲欧美日韩一区| 国产精品女主播在线观看| 日韩亚洲欧美高清| 欧美视频一二三区| 91视频一区二区三区| 国产成人综合网| 久久草av在线| 免费的国产精品| 视频在线观看91| 亚洲一区中文在线| 亚洲精品免费在线观看| 国产精品美日韩| 国产午夜精品一区二区三区视频| 欧美一区二区私人影院日本| 99re这里只有精品6| 成人一区二区在线观看| 国产成人精品免费视频网站| 麻豆视频观看网址久久| 日本午夜一本久久久综合| 亚洲成av人在线观看| 亚洲一区成人在线| 亚洲激情综合网| 亚洲精品久久久久久国产精华液| 美国毛片一区二区| 久久精品国产免费看久久精品| 日韩黄色片在线观看| 亚洲www啪成人一区二区麻豆| 一区二区三区日韩欧美精品| 亚洲免费色视频| 一区二区三国产精华液| 亚洲成人一区二区| 五月婷婷另类国产| 青青草成人在线观看| 美女视频第一区二区三区免费观看网站 | 99久久精品免费看国产| 99视频在线精品| 一本色道**综合亚洲精品蜜桃冫| 91丨porny丨蝌蚪视频| 一本大道久久a久久综合| 欧美专区日韩专区| 欧美一区二区三级| 国产亚洲欧美一级| 亚洲区小说区图片区qvod| 亚洲一区二区三区在线| 亚洲高清免费在线| 寂寞少妇一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 成人黄色a**站在线观看| 色综合久久久久综合体| 欧美一级片免费看| 国产亚洲精品久| 樱花草国产18久久久久| 日日嗨av一区二区三区四区| 国产做a爰片久久毛片| 99精品视频在线免费观看| 欧美在线小视频| 久久久久久久久99精品| 亚洲免费av高清| 日韩和欧美一区二区三区| 国产成人av电影在线观看| 色婷婷久久久亚洲一区二区三区 | 麻豆精品视频在线观看免费| 丁香五精品蜜臀久久久久99网站| 91久久人澡人人添人人爽欧美| 欧美一级理论片| 中文字幕不卡三区| 丝瓜av网站精品一区二区| 成人精品国产免费网站| 欧美高清激情brazzers| 中文字幕免费不卡| 丝袜美腿亚洲一区| 91亚洲男人天堂| 欧美精品一区二区在线播放| 一区二区三区高清不卡| 国产一区欧美一区| 欧美日韩精品一区二区| 中文字幕第一区二区| 日韩国产欧美在线播放| 91在线精品一区二区| 日韩欧美亚洲国产另类| 亚洲第四色夜色| 不卡的av中国片| 国产亚洲欧美激情| 理论电影国产精品| 欧美日韩一级二级| 国产精品久久影院| 国产真实乱子伦精品视频| 欧美老女人第四色| 亚洲综合丁香婷婷六月香| av成人免费在线观看| 久久精品夜夜夜夜久久| 麻豆成人久久精品二区三区红 | 久久综合久久99| 日韩高清在线一区| 色综合中文字幕国产| 日韩欧美国产不卡| av网站免费线看精品| 国产亚洲欧美激情| 国产精品一区二区三区网站| 精品日产卡一卡二卡麻豆| 日本网站在线观看一区二区三区 | 图片区日韩欧美亚洲| 在线视频综合导航| 亚洲同性同志一二三专区| 成人精品电影在线观看| 国产欧美日韩卡一| 国产成人av电影在线播放| 久久久久国色av免费看影院| 老司机精品视频一区二区三区| 日韩一区二区三区观看| 奇米一区二区三区av| 日韩一级片网站|