我正在尝试得到光标的点在绘画部分,并简单地画一个椭圆形。不过没什么好运气的!
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
} 这就是没有画图方法的图像:
http://i.stack.imgur.com/VOyhr.png
发布于 2013-03-24 09:05:41
你不能像那样在paint方法中添加代码。YOu不会在paint方法中引用MouseInfo类,因为您无法控制何时调用paint()方法。您应该使用MouseListener和MouseMotionListner来执行自定义绘制。此外,自定义绘制不应该在paint方法中完成。
有关两种解决方案,请参阅Custom Painting Approaches。
https://stackoverflow.com/questions/15593871
复制相似问题