所以我遇到了一个问题,当我读到鼠标位置并尝试操纵它时,一切都变得地狱!
以下是此次灾难的代码。
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像素盒子,但我能告诉你的是......这个矩形很大。
答案 0 :(得分:0)
g.fillRect(x-5,y-5,x+10,y+10);
fillRect
需要x,y,width and height as parameter,因此您需要制作
g.fillRect(x-5,y-5,10,10);
答案 1 :(得分:0)
fillRect(...)
的参数是坐标x
,y
以及尺寸width
和height
,这意味着如果x = 100
和y = 100
您的代码将生成一个110x110的矩形,从x 100,y 100开始。
如果要从鼠标指针开始创建10x10矩形,请使用:
g.fillRect(x,y,10,10);