2015-09-30 32 views
0

所以我遇到了一个问题,当我读取鼠标位置并尝试操纵它时,所有事情都变得很糟糕!e.getX();无法正确工作

这是这场灾难的代码。

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 [email protected] ", 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

fillRect(...)的参数坐标xy和大小widthheight,这意味着如果x = 100y = 100您的代码将产生一个110 x110的矩形,从x 100开始,y 100。

如果你想创建一个10×10的矩形开始在鼠标的指针,用这个:

g.fillRect(x,y,10,10); 
+0

Thnx.But需要知道如何跟踪鼠标。 –

+0

@DanjahSoftProgrammer你将需要一个'MouseMotionListener'来代替那个不是'MouseListener'的 – Titus

+0

thnx ........... –

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); 
+0

啊,该死的是我犯错误甚至知道,哎呀IM tired.Thnx –

+0

但它不跟随鼠标 –

+0

如何获得它要做到这一点? –

相关问题