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

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

?? positioner.java

?? 打印管理程序,測試完全通過.windows開發(fā)環(huán)境.
?? JAVA
字號(hào):
/*
    $Author: $
    $Date: $
    $Revision: $
    $NoKeywords: $
*/
package jp.co.ntl.awt;

import java.awt.*;
import java.awt.event.*;

import jp.co.ntl.awt.event.ChangeEvent;
import jp.co.ntl.awt.event.ChangeListener;
import jp.co.ntl.awt.event.ChangeSupport;

public class Positioner extends Component {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
    private static final int ROW_COUNT      = 3;
    private static final int COLUMN_COUNT   = 3;
    
    private Color backColor = Color.white;//Color.lightGray;
    private Color laticeColor = Color.lightGray;//Color.white;
    private Color boxColor = Color.black;
    private Color boxShadowColor = Color.gray;
    
    private ChangeSupport support;
    
    private int currentPos = 4; // 0 乣 ROW_COUNT * COLUMN_COUNT - 1
    private int[] laticeX;
    private int[] laticeY;
    private Rectangle[] boxes;
    
    private int offsetX = 0;
    private int offsetY = 0;
    private int dispOffsetX = 0;
    private int dispOffsetY = 0;
  
    private float scale = 1.0f;
    
    public Positioner(int width, int height, float scale) {
        this.scale = scale;
        
        laticeX = new int[COLUMN_COUNT + 1];
        laticeY = new int[ROW_COUNT + 1];
        for (int i = 0; i < laticeX.length - 1; i++) {
            laticeX[i] = width * i / COLUMN_COUNT;
        }
        laticeX[laticeX.length - 1] = width - 1;
        for (int i = 0; i < laticeY.length - 1; i++) {
            laticeY[i] = height * i / ROW_COUNT;
        }
        laticeY[laticeY.length - 1] = height - 1;

        boxes = new Rectangle[ROW_COUNT * COLUMN_COUNT];
        int index = 0;
        for (int j = 0; j < ROW_COUNT; j++) {
            for (int i = 0; i < COLUMN_COUNT; i++) {
                boxes[index++] = new Rectangle(laticeX[i], 
                                               laticeY[j], 
                                               laticeX[i + 1] - laticeX[i], 
                                               laticeY[j + 1] - laticeY[j]);
            }
        }
        setSize(width, height);
        
        enableEvents(AWTEvent.MOUSE_EVENT_MASK);
        
        support = new ChangeSupport();
    }
    
    public void setOffset(int offsetX, int offsetY) {
        this.offsetX = offsetX;
        this.offsetY = offsetY;
        this.dispOffsetX = convert(offsetX);
        this.dispOffsetY = -convert(offsetY);
        
        repaint();
    }
    
    public int getOffsetX() {
        return offsetX;
    }
    
    public int getOffsetY() {
        return offsetY;
    }
    
    private int convert(int offset) {
        return (int)(offset * scale);
    }
    
    public void setPosition(int pos) {
        currentPos = pos;
    }
    
    public int getPosition() {
        return currentPos;
    }
    
    public void addChangeListener(ChangeListener cl) {
        support.addChangeListener(cl);
    }
    
    public void removeChangeListner(ChangeListener cl) {
        support.removeChangeListener(cl);
    }
    
    public void update(Graphics g) {
        paint(g);
    }
    
    private Image backImage = null;
    private Graphics gImage = null;
    public void paint(Graphics g) {
        if (backImage == null) {
            Dimension d = getSize();
			backImage = createImage(d.width, d.height);
			gImage = backImage.getGraphics();
		}
        
        paintComponent(gImage);
     	g.drawImage(backImage, 0, 0, this);
    }
    
    private void paintComponent(Graphics g) {
        Dimension d = getSize();
        g.setColor(backColor);
        g.fillRect(0, 0, d.width, d.height);
        g.setColor(laticeColor);
        for (int i = 1; i < laticeX.length - 1; i++) {            
            g.drawLine(laticeX[i], 0, laticeX[i], d.height);
        }
        for (int i = 1; i < laticeY.length - 1; i++) {
            g.drawLine(0, laticeY[i], d.width, laticeY[i]);
        }
        
        Rectangle r = boxes[currentPos];
        g.setColor(boxShadowColor);
        g.drawRect(r.x, r.y, r.width, r.height);
        g.drawLine(r.x, r.y, r.x + r.width, r.y + r.height);
        g.drawLine(r.x, r.y + r.height, r.x + r.width, r.y);
        g.setColor(boxColor);
        g.drawRect(r.x + dispOffsetX, r.y + dispOffsetY, r.width, r.height);
        g.drawLine(r.x + dispOffsetX, r.y + dispOffsetY, r.x + dispOffsetX + r.width, r.y + dispOffsetY + r.height);
        g.drawLine(r.x + dispOffsetX, r.y + dispOffsetY + r.height, r.x + dispOffsetX + r.width, r.y + dispOffsetY);
    }
    
    public void processMouseEvent(MouseEvent me) {
        if (me.getID() == MouseEvent.MOUSE_PRESSED) {
            Point pt = me.getPoint();
            for (int i = 0; i < boxes.length; i++) {
                if (boxes[i].contains(pt)) {
                    if (i != currentPos) {
                        currentPos = i;
                        offsetX = 0;
                        offsetY = 0;
                        dispOffsetX = convert(offsetX);
                        dispOffsetY = -convert(offsetY);
                        support.fireChangeEvent(new ChangeEvent(this)); 
                        repaint();
                    }
                    break;
                }
            }
        }
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美mv日韩mv国产| 久久综合九色欧美综合狠狠| 欧美日韩一区不卡| 精品美女在线播放| 亚洲欧美一区二区三区国产精品| 亚洲va韩国va欧美va精品| 国产在线乱码一区二区三区| 99久久国产综合精品麻豆| 91麻豆精品国产91久久久久| 国产精品午夜免费| 精品系列免费在线观看| 欧美在线视频日韩| 中文子幕无线码一区tr| 麻豆成人久久精品二区三区红 | 日韩一级欧美一级| 亚洲精品精品亚洲| 国产.欧美.日韩| 日韩精品一区二区三区老鸭窝| 亚洲乱码国产乱码精品精可以看| 国产一区二区三区av电影| 69精品人人人人| 亚洲一区二区三区精品在线| 日韩欧美一级特黄在线播放| 一区二区成人在线视频 | 丝袜亚洲另类欧美| 色综合色狠狠综合色| 久久精品男人的天堂| 麻豆91在线播放免费| 91精品欧美一区二区三区综合在| 一区二区三区在线免费播放| 国产91在线|亚洲| 久久久久久久久久久久久夜| 狠狠色伊人亚洲综合成人| 欧美精选一区二区| 午夜精品久久一牛影视| 欧美三级三级三级| 午夜亚洲国产au精品一区二区| 欧美伊人精品成人久久综合97| 亚洲免费在线播放| 色综合久久久网| 亚洲美女视频在线| 日本精品裸体写真集在线观看| 专区另类欧美日韩| 色美美综合视频| 亚洲精品自拍动漫在线| 99久久99久久精品国产片果冻| 中文字幕制服丝袜成人av| av中文字幕不卡| 亚洲精品中文字幕乱码三区 | 久久综合给合久久狠狠狠97色69| 毛片av一区二区| 精品久久人人做人人爱| 国产精品一二三四| 亚洲欧洲日韩av| 欧美美女bb生活片| 久久黄色级2电影| 国产精品素人一区二区| 久久久噜噜噜久久人人看 | 欧美激情在线一区二区三区| aaa国产一区| 视频一区视频二区中文字幕| 欧美精品一区在线观看| 成人中文字幕在线| 亚洲一区二区三区中文字幕| 欧美一区二区三区系列电影| 国产黑丝在线一区二区三区| 中文字幕一区二区三区色视频 | 欧美一卡在线观看| 国产成人免费视频网站 | 欧美日韩国产综合一区二区三区| 男女激情视频一区| 国产精品毛片大码女人| 欧美日韩日日夜夜| 国产美女娇喘av呻吟久久| 亚洲猫色日本管| 欧美成人aa大片| 91国偷自产一区二区三区观看| 免费人成在线不卡| 亚洲欧美欧美一区二区三区| 欧美大尺度电影在线| 91年精品国产| 国产很黄免费观看久久| 亚洲成人av资源| 国产精品国产三级国产aⅴ无密码| 欧美性xxxxxxxx| 国产91露脸合集magnet| 日韩二区在线观看| 亚洲综合免费观看高清完整版| 欧美一区二区三区播放老司机| 91亚洲国产成人精品一区二区三| 久久99久久99小草精品免视看| 亚洲综合视频网| 中文字幕在线一区免费| 久久精品一区二区三区不卡牛牛| 欧美日韩成人一区| www.成人在线| 国产精品羞羞答答xxdd| 麻豆精品视频在线观看| 午夜精品久久久久久不卡8050| 国产精品国产成人国产三级 | 经典三级一区二区| 一区二区三区不卡视频在线观看| 精品国产91乱码一区二区三区 | 久久久欧美精品sm网站 | 久久青草欧美一区二区三区| 欧美日韩亚洲综合一区二区三区| 99麻豆久久久国产精品免费| 国产一区福利在线| 捆绑调教美女网站视频一区| 亚洲一区二区美女| 一区二区高清免费观看影视大全| 1区2区3区国产精品| 国产精品久久午夜夜伦鲁鲁| 久久久www成人免费毛片麻豆| 精品日韩一区二区三区 | 久久精品国产在热久久| 亚洲va欧美va人人爽| 一区二区欧美国产| 成人免费在线观看入口| 国产精品婷婷午夜在线观看| 久久午夜电影网| 精品国产亚洲在线| 精品三级av在线| 久久精品亚洲乱码伦伦中文| 久久久五月婷婷| 久久理论电影网| 精品电影一区二区| 欧美激情一区二区三区四区| 久久久久久久久免费| 欧美激情自拍偷拍| 中文字幕一区二区三区av| 亚洲四区在线观看| 亚洲午夜视频在线观看| 午夜精品久久久久| 裸体一区二区三区| 国精产品一区一区三区mba视频| 国产最新精品精品你懂的| 国产成人精品三级| jlzzjlzz欧美大全| 欧美三级电影在线观看| 欧美一区二区不卡视频| 久久精品人人做人人爽人人| 中文字幕在线观看一区二区| 亚洲丝袜美腿综合| 婷婷国产在线综合| 激情久久五月天| 不卡的看片网站| 欧美丝袜丝交足nylons| 日韩欧美国产综合| 国产午夜精品美女毛片视频| 尤物av一区二区| 蜜臀精品一区二区三区在线观看 | 制服丝袜av成人在线看| 久久网站热最新地址| 国产精品电影一区二区| 亚洲3atv精品一区二区三区| 国模套图日韩精品一区二区| 91网站黄www| 欧美成人在线直播| 亚洲欧美日韩电影| 国产一区视频在线看| 欧美亚洲动漫制服丝袜| 久久综合九色欧美综合狠狠 | 久久精品无码一区二区三区| 日韩毛片视频在线看| 亚洲成av人片www| 国产成a人无v码亚洲福利| 欧美专区日韩专区| 国产三级一区二区| 亚洲成人av一区二区三区| 国产成a人亚洲| 日韩免费视频一区| 亚洲最新视频在线观看| 国产高清久久久| 7777精品伊人久久久大香线蕉经典版下载 | 欧洲日韩一区二区三区| 精品美女一区二区| 日韩综合一区二区| 91麻豆国产福利在线观看| 精品国产乱码久久久久久免费| 亚洲午夜在线电影| av在线这里只有精品| 久久综合色婷婷| 免费人成网站在线观看欧美高清| 91久久奴性调教| 中文av字幕一区| 国精品**一区二区三区在线蜜桃| 欧美精品久久99| 亚洲一区在线观看免费观看电影高清| 国产成人av电影在线| 精品国一区二区三区| 午夜精品久久久久影视| 在线免费观看成人短视频| 亚洲欧洲无码一区二区三区| 国产乱人伦偷精品视频不卡| 日韩女优av电影| 日韩成人午夜电影| 8x8x8国产精品| 五月天网站亚洲| 欧美精选在线播放|