0

我试图在油漆部分中找到光标的点,然后简单地画一个椭圆。虽然没有运气!

public void paint(Graphics g){
     Point ComponentPoint = PaintPanel.getLocationOnScreen();
     Point CursorPoint=   MouseInfo.getPointerInfo().getLocation(); //gets cursor point

     int ComPX =  ComponentPoint.x;
     int ComPY =  ComponentPoint.y;
     int CurPX =  CursorPoint.x;
     int CurPY =  CursorPoint.y;
     int FinalX = CurPX - ComPX;
     int FinalY =  CurPY - ComPY;
     g.drawOval(FinalX, FinalY, 20, 20);
}

private void PaintPanelMouseDragged(java.awt.event.MouseEvent evt) {                                        
    //when mouse is moved over paintpanel

    //PaintPanel.repaint();
    not working
}             

这是没有paint方法的,图像:

http://i.stack.imgur.com/VOyhr.png

4

1 回答 1

1

你不能像这样在paint方法中添加代码。您不会在paint 方法中引用MouseInfo 类,因为您无法控制何时调用paint() 方法。您应该使用 MouseListener 和 MouseMotionListner 进行自定义绘画。此外,不应在绘画方法中进行自定义绘画。

有关两种解决方案,请参阅自定义绘画方法

于 2013-03-24T01:05:40.637 回答