Java 小程序绘制

Java 小程序绘制,java,Java,我试图在绘画部分找到光标的点,然后简单地画一个椭圆形。不过运气不好 public void paint(Graphics g){ Point ComponentPoint = PaintPanel.getLocationOnScreen(); Point CursorPoint= MouseInfo.getPointerInfo().getLocation(); //gets cursor point int ComPX = ComponentPoint.x

我试图在绘画部分找到光标的点,然后简单地画一个椭圆形。不过运气不好

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方法中引用MouseInfo类,因为您无法控制何时调用paint()方法。您应该使用MouseStener和MouseMotionListner进行自定义绘制。此外,不应使用“绘制”方法进行自定义绘制


请参阅以获取两种解决方案。

考虑创建并发布一个几乎可以正常工作的小示例,换句话说,这是解决方案的最佳尝试,安。就我发布的内容而言,它没有显示任何内容:/I我尝试了其他方法,但它去掉了所有内容,只画了一个椭圆形。如果没有上下文,很难知道如何理解您发布的代码。这就是为什么我要求您通过创建一个非常小但可编译且可运行的程序来提供一些上下文