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

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

?? animationlayer.java

?? chess 一個beguanyu國際象棋的一個Java源碼
?? JAVA
字號:
/*  AnimationLayer - A pane to animate moved chess pieces.  Copyright (C) 2003 The Java-Chess team <info@java-chess.de>  This program is free software; you can redistribute it and/or  modify it under the terms of the GNU General Public License  as published by the Free Software Foundation; either version 2  of the License, or (at your option) any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/package de.java_chess.javaChess.renderer2d;import de.java_chess.javaChess.*;import de.java_chess.javaChess.ply.*;import de.java_chess.javaChess.position.*;import java.awt.*;import javax.swing.*;/** * This class animates moved chess pieces in a separate thread. */class AnimationLayer extends JPanel implements Runnable {    // Static variables    // Instance variables    /**     * The pieces layer.     */    private PiecesLayer _piecesLayer;    /**     * The current ply to animate.     */    private Ply _ply = null;    /**     * The renderer for the piece, that we are animate.     */    // private PieceRenderer _piece;    /**     * The current point of the animated piece.     */    private Point _currentPoint;    /**     * The animation thread.     */    private volatile Thread _animationThread;    // Constructors    /**     * Create a new AnimationLayer instance.     *     * @param piecesLayer The layer with the pieces.     */    AnimationLayer( PiecesLayer piecesLayer) {	setPiecesLayer( piecesLayer);    }    // Methods    /**     * Animate the move of a piece.     */    void animatePly( Ply ply) {	_ply = ply;    }    /**     * The method to start the thread.     */    public void start() {	if( _animationThread == null) {	    _animationThread = new Thread( this);	    _animationThread.start();	}    }    /**     * The run method to start the animation thread.     */    public void run() {	ImageIcon icon = (ImageIcon)getPiecesLayer().getPositionRenderer( _ply.getSource().getSquareIndex()).getIcon();	JLabel movingPiece = new JLabel( icon);	// _piece = (PieceRenderer)icon.getImage();	getPiecesLayer().getPositionRenderer( _ply.getSource().getSquareIndex()).setIcon( null);	getPiecesLayer().repaint();	int xOffset = ( ChessBoardRenderer2D.getSquareSize() - icon.getIconWidth()) / 2;	int yOffset = ( ChessBoardRenderer2D.getSquareSize() - icon.getIconHeight()) / 2;	_currentPoint = new Point( ( _ply.getSource().getSquareIndex() & 7) * ChessBoardRenderer2D.getSquareSize() + xOffset				   , ( 7 - ( _ply.getSource().getSquareIndex() >> 3)) * ChessBoardRenderer2D.getSquareSize() + yOffset);	Point endPoint = new Point( ( _ply.getDestination().getSquareIndex() & 7) * ChessBoardRenderer2D.getSquareSize() + xOffset				    , ( 7 - ( _ply.getDestination().getSquareIndex() >> 3)) * ChessBoardRenderer2D.getSquareSize() + yOffset);	int xMoveOffset = _currentPoint.x < endPoint.x ? 1 : _currentPoint.x > endPoint.x ? -1 : 0;	int yMoveOffset = _currentPoint.y < endPoint.y ? 1 : _currentPoint.y > endPoint.y ? -1 : 0;	movingPiece.setLocation( _currentPoint);	while( ! _currentPoint.equals( endPoint)) {	    if( _currentPoint.x == endPoint.x) {		xMoveOffset = 0;	    }	    if( _currentPoint.y == endPoint.y) {		yMoveOffset = 0;	    }	    _currentPoint.x += xMoveOffset;	    _currentPoint.y += yMoveOffset;	    // invalidate();	    // repaint();	    // paint( getGraphics());	    //getGraphics().drawImage( _piece, _currentPoint.x, _currentPoint.y, this);	    movingPiece.setLocation( _currentPoint);	    paintImmediately( _currentPoint.x - 1, _currentPoint.y - 1, ChessBoardRenderer2D.getSquareSize(), ChessBoardRenderer2D.getSquareSize());	    try {		Thread.sleep( 5);	    } catch( InterruptedException ignored) {}	    // getGraphics().clearRect( _currentPoint.x - 1, _currentPoint.y - 1, ChessBoardRenderer2D.getSquareSize() + 1, ChessBoardRenderer2D.getSquareSize() + 1);	}	movingPiece.setVisible( false);	getPiecesLayer().getPositionRenderer( _ply.getDestination().getSquareIndex()).setIcon( icon);	_ply = null;	_animationThread = null;    }    /**     * Paint the animated piece.     *     * @param g The graphics context.     */    /*  public void paint( Graphics g) {	System.out.println( "Repaint piece at " + _currentPoint.x + "," + _currentPoint.y);	// g.drawImage( _piece, _currentPoint.x, _currentPoint.y, this);	} */    /**     * Get the current pieces layer.     *     * @return The current pieces layer.     */    PiecesLayer getPiecesLayer() {	return _piecesLayer;    }    /**     * Set a new pieces layer.     *     * @param piecesLayer The new pieces layer.     */    void setPiecesLayer( PiecesLayer piecesLayer) {	_piecesLayer = piecesLayer;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久人人人人传媒 | 在线综合亚洲欧美在线视频| 日韩欧美第一区| 亚洲欧美电影院| 国产一区二区女| 欧美日韩高清影院| 中文字幕日韩av资源站| 国产呦萝稀缺另类资源| 91精品国产高清一区二区三区 | 精品久久久网站| 一区二区三区日韩| 成人av集中营| 久久婷婷色综合| 精品一区二区三区在线观看国产| 91激情五月电影| 国产精品福利影院| 国产成人午夜99999| 欧美精品一区二区三区很污很色的 | 精品国产髙清在线看国产毛片 | 成人视屏免费看| 久久久夜色精品亚洲| 美女脱光内衣内裤视频久久影院| 欧美丝袜丝交足nylons| 亚洲欧美日本在线| 色综合视频在线观看| 中文字幕欧美三区| 高清beeg欧美| 国产精品私人影院| 成人免费看片app下载| 国产偷v国产偷v亚洲高清| 韩国av一区二区三区| 欧美精品一区二区三区在线播放| 另类小说综合欧美亚洲| 日韩一区二区免费视频| 男男视频亚洲欧美| 欧美一级片在线看| 麻豆成人av在线| 精品国产免费人成在线观看| 久久99精品久久久久久久久久久久| 91精品国产麻豆国产自产在线| 日韩中文字幕一区二区三区| 欧美一区二区日韩一区二区| 久久精品二区亚洲w码| 欧美精品一区二区三区高清aⅴ | 在线免费不卡视频| 亚洲高清久久久| 日韩午夜激情av| 激情五月播播久久久精品| 久久久精品免费网站| av在线播放一区二区三区| 亚洲精品国产精华液| 欧美揉bbbbb揉bbbbb| 美女看a上一区| 欧美激情一区二区三区蜜桃视频 | 欧美性做爰猛烈叫床潮| 日韩高清不卡一区二区三区| 精品国产免费久久| 豆国产96在线|亚洲| 亚洲自拍与偷拍| 日韩三级电影网址| 99国产精品国产精品毛片| 亚洲资源在线观看| 精品乱人伦小说| av一本久道久久综合久久鬼色| 一区二区三区视频在线看| 日韩女优电影在线观看| av在线综合网| 久久国产精品无码网站| 亚洲精品久久7777| 久久先锋资源网| 欧美视频精品在线观看| 国产精品996| 日本在线观看不卡视频| 成人欧美一区二区三区1314| 日韩欧美一区二区视频| 91啪在线观看| 国产一区二区三区免费在线观看| 夜色激情一区二区| 国产片一区二区三区| 欧美精品色综合| 9i看片成人免费高清| 精品中文字幕一区二区小辣椒| 亚洲另类色综合网站| 久久色.com| 6080午夜不卡| 欧美日韩在线直播| youjizz久久| 国产精品一卡二卡在线观看| 日韩高清在线观看| 一区二区三区精品久久久| 国产视频亚洲色图| 亚洲精品一区二区精华| 欧美精品第1页| 在线视频你懂得一区二区三区| 国产夫妻精品视频| 激情综合色播激情啊| 日本中文字幕一区| 首页欧美精品中文字幕| 亚洲黄色在线视频| 亚洲免费观看高清完整版在线观看| 久久精品人人做人人爽97| 日韩欧美一区电影| 91精品国产综合久久久久久| 欧美视频一区二区三区在线观看| av中文字幕亚洲| 99国内精品久久| 97aⅴ精品视频一二三区| 国产99一区视频免费| 国产精品一区2区| 东方aⅴ免费观看久久av| 国产一区二区三区四区五区美女| 精品在线视频一区| 久久国产尿小便嘘嘘| 免费成人深夜小野草| 麻豆精品国产91久久久久久| 免费精品视频最新在线| 免费成人深夜小野草| 麻豆成人在线观看| 国产综合久久久久久鬼色| 国产乱码字幕精品高清av| 夫妻av一区二区| www.成人网.com| 欧美做爰猛烈大尺度电影无法无天| 色综合久久综合网97色综合 | 午夜精品123| 久久精品国产77777蜜臀| 激情都市一区二区| 成人黄色小视频在线观看| 99国内精品久久| 欧美色窝79yyyycom| 欧美疯狂性受xxxxx喷水图片| 91精品国产全国免费观看 | 亚洲欧美另类久久久精品2019| 国产精品国模大尺度视频| 亚洲免费观看视频| 日本在线不卡一区| 国产精品一级黄| 91精品1区2区| 欧美大片免费久久精品三p| 欧美激情中文字幕| 亚洲va韩国va欧美va精品| 九色|91porny| 日本电影欧美片| 日韩欧美二区三区| 综合久久一区二区三区| 日日夜夜一区二区| 高清av一区二区| 91超碰这里只有精品国产| 国产亚洲一本大道中文在线| 亚洲欧美日韩国产综合在线| 六月丁香婷婷久久| 色综合久久久久综合体桃花网| 欧美一区二区在线视频| 中文字幕中文乱码欧美一区二区| 亚洲成人久久影院| 成人激情电影免费在线观看| 欧美一级视频精品观看| 亚洲男人天堂一区| 精品午夜久久福利影院| 色999日韩国产欧美一区二区| 精品少妇一区二区三区日产乱码 | 日韩专区中文字幕一区二区| 国产999精品久久久久久| 欧美日韩国产成人在线91| 国产日韩精品一区二区浪潮av| 亚洲1区2区3区4区| 91香蕉视频在线| 久久久一区二区三区| 日本不卡一二三区黄网| 色综合久久久久综合99| 久久精品视频一区| 美腿丝袜亚洲色图| 欧美精品久久久久久久久老牛影院| 国产精品国产自产拍高清av| 久久99国产乱子伦精品免费| 欧美伦理影视网| 亚洲影院久久精品| 色综合天天综合| 亚洲国产精品ⅴa在线观看| 激情综合亚洲精品| 9191国产精品| 婷婷中文字幕综合| 欧美日韩国产小视频| 一区二区高清在线| 91美女片黄在线观看| 国产精品免费久久| 成人黄色免费短视频| 欧美国产在线观看| 国产91精品精华液一区二区三区| 久久影音资源网| 国产一区二区伦理片| 久久新电视剧免费观看| 国产自产2019最新不卡| www国产精品av| 国产91在线观看| 国产精品视频yy9299一区| 国产成人亚洲精品青草天美| 国产人久久人人人人爽| gogogo免费视频观看亚洲一| 亚洲欧洲日韩av|