Java 从鼠标拖动绘制的直线反弹的球

Java 从鼠标拖动绘制的直线反弹的球,java,swing,awt,graphics2d,java-2d,Java,Swing,Awt,Graphics2d,Java 2d,我有一个有弹跳球的空间,当我拖动鼠标时,我想在其中画一条线,这样球也开始从中弹跳 我可以画一条由小圆组成的线,把它们的内部区域加在一起,如果球与这个区域相交,就改变方向。这很有效。问题是圆不会生成实线(因为很少触发mouseDragged事件),但是如果使用Line2D,它不会包围任何区域 在每个鼠标拖动的事件中,我可以在起始点和端点之间插入数据,并在获得的x,y处绘制一个圆。它能工作,但一切都冻结得很厉害 我可以检查球的覆盖矩形是否包含特定的颜色(如果是,请改变方向),但又该怎么做呢?检查每个

我有一个有弹跳球的空间,当我拖动鼠标时,我想在其中画一条线,这样球也开始从中弹跳

  • 我可以画一条由小圆组成的线,把它们的内部区域加在一起,如果球与这个区域相交,就改变方向。这很有效。问题是圆不会生成实线(因为很少触发mouseDragged事件),但是如果使用Line2D,它不会包围任何区域
  • 在每个鼠标拖动的事件中,我可以在起始点和端点之间插入数据,并在获得的x,y处绘制一个圆。它能工作,但一切都冻结得很厉害
  • 我可以检查球的覆盖矩形是否包含特定的颜色(如果是,请改变方向),但又该怎么做呢?检查每个像素似乎根本没有效率
  • 有没有办法/最好的办法来处理它

    但如果改用Line2D,它不会封闭任何区域

    使用宽度(非常薄)的
    路径2D
    多边形。它看起来像一条线,但有一个区域

    然后在中看到的代码中使用它


    为什么不使用薄矩形2D?我已经考虑过了。但是你需要旋转每个矩形,正如我所理解的,这可能很麻烦(你需要旋转图形或图像,对吗?)。有没有更好的“常规”方法?我不明白你想做什么。你想做一个乒乓球游戏吗?不,对不起,我的措辞不好。。我编辑了这个问题