2015-09-30 2 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(...) координаты x, y и размер width и height, что означает, что если x = 100 и y = 100 ваш код будет обрабатывать прямоугольник 110x110, начиная с 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

Ааа, штопка это мой mistake.I даже знал, что Jeez IM tired.Thnx –

+0

, но это не следовать за мышью –

+0

как я получаю это сделать? –

Смежные вопросы