我想用鼠标移动它。
例如,假设坐在棋盘上的一个正方形上的棋子。 如果我的鼠标是在pawn所在的方格中单击(按下并释放),则会选中它。之后,我会在适当的方格中单击(按下并释放)。比如,前面的广场,因为这是国际象棋中的正确举动。 pawn会移动(从它所在的方块上擦除,然后在新的方格上重新绘制)到最终选定的方块。
目前,Pawn在执行结束时只是坐在广场上。 如果有任何帮助,我使用Ready To Program Java(我的老师告诉我)以及c控制台(c = new Console();)。
这是我到目前为止所做的源代码:)
import hsa.Console;
import java.awt.*;
public class Chess
{
static Console c;
public static void main(String[] args)
{
c = new Console(30, 100); // Rows, Columns (X = 790px && Y = 600px)
Board();
Pawn();
}
public static void Board() // Board: 504px x 504px Square: 63px x 63px
{
int Horizontal = 143; // Board's origin point (X)
int Vertical = 48; // Board's origin point (Y)
for (Vertical = 48; Vertical < 552; Vertical+=63) // Moving onto the next "line"
{
for (Horizontal = 143; Horizontal < 647; Horizontal+=63) // Filling the "line" with squares
{
c.drawRect(Horizontal, Vertical, 63, 63); // Drawing the Squares
}
Horizontal = 143; // Resetting the "line"
}
}
public static void Pawn() // Image and properties of a PAWN piece
{
c.setColor(Color.red); // How the Pawn looks
c.drawOval(143, 111, 63, 63);
}
}
答案 0 :(得分:1)
可以在此处找到Console Java类文档:
http://stbenedict.wcdsb.ca/hsa/Console.html
正如它所指定的那样,它实现了EventListener接口,该接口有一个子接口MouseListener。网上有很多指南,记录了如何处理从MouseListener发送的事件。这是Oracle的文档中的一个:
https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html