📄 chess.java
字号:
import java.awt.*;
public class Chess implements FiveChessConstants{
private MainPanel p;
private Color color;
private final Color bgColor;
private volatile boolean keepRunning;
private volatile int blickX,blickY;
public Chess(int kind,MainPanel parent)
{
color = kind == 1?Color.red:Color.black;
bgColor = parent.getBackground();
p = parent;
}
public void draw(int x, int y,boolean isChear)
{
Graphics g = p.getGraphics();
g.setColor(isChear?this.bgColor:this.color);
g.fillOval(x, y, CHESS_SIZE,CHESS_SIZE);
//清除是要重画被擦除的红色十字线
if(isChear)
{
g.setColor(Color.RED);//线的颜色
g.drawLine(x+ CHESS_SIZE/2, y, x+ CHESS_SIZE/2, y+CHESS_SIZE);
g.drawLine(x, y+ CHESS_SIZE/2, x+ CHESS_SIZE, y+CHESS_SIZE/2);
}
g.dispose();
}
public void drawBlick()
{
keepRunning = true;
Runnable r = new Runnable(){
public void run()
{
while(keepRunning)
{
draw(blickX,blickY,true);
try{
Thread.sleep(125);
}catch(InterruptedException e)
{}
draw(blickX,blickY,false);
try{
Thread.sleep(125);
}catch(InterruptedException e)
{}
}
//闪烁完停止
draw(blickX,blickY,false);
}
};
Thread t = new Thread(r);
t.start();
}
public void stopBlick()
{
this.keepRunning = false;
}
public void setLocation(int bx, int by)
{
this.blickX = bx;
this.blickY = by;
}
public void setColor(Color color)
{
this.color = color;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -