所以我遇到了一个问题,当我读取鼠标位置并试图操纵它时,一切都变成了地狱!
这是这个灾难的代码。
public class LoadScreen implements MouseListener{
int x,y;
public void begin(Graphics g, JPanel def) {
def.addMouseListener(this);
Font font = new Font("Serif", Font.PLAIN, 50);
g.setFont(font);
g.drawString("Welcome to FaivaCodex's Live Interaction Game Shell", 30, 200);
Font font2=new Font("Triplex",Font.PLAIN, 17);
g.setFont(font2);
g.drawString("Enjoy making your game, for any more gameshells you would like to be availible send an email to flaivaflaves@gmail.com ", 30, 230);
g.fillRect(x-5,y-5,x+10,y+10);
}
@Override
public void mouseEntered(MouseEvent arg0) {
x=arg0.getX();
y=arg0.getY();
}
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
有它产生的图像,但我还不能发布图像。我想要的是鼠标所在的10*10像素框,但我可以告诉你的是....这个矩形太大了
fillRect(...)
的参数是坐标x
, y
以及大小width
和height
,这意味着如果x = 100
和y = 100
,您的代码将产生一个从x 100, y 100开始的110x110矩形。
如果你想创建一个从鼠标指针开始的10x10矩形,使用:
g.fillRect(x,y,10,10);
g.fillRect(x-5,y-5,x+10,y+10);
fillRect
接受x,y,宽度和高度作为参数,所以你需要让它
g.fillRect(x-5,y-5,10,10);