Java AWT边界

Java AWT边界,java,awt,Java,Awt,我的任务是使用java.awt.Graphics绘制一定数量的圆 画圆圈是相当简单的,但我只应该画圆圈,如果它出现在可见区域内。我知道我可以调用方法getClipBounds()来确定绘图区域,但是我很难找到一个java实现来确定圆是否与矩形相交 这是确定我要画的圆是否完全可见的正确方法,还是有更简单的方法?不要使用Graphics.fillOval(…)方法进行绘制 相反,您可以使用Graphics2D.fill(Shape)方法。可以使用Ellipse2D类创建椭圆形对象 但是我很难找到一个

我的任务是使用
java.awt.Graphics
绘制一定数量的圆

画圆圈是相当简单的,但我只应该画圆圈,如果它出现在可见区域内。我知道我可以调用方法
getClipBounds()
来确定绘图区域,但是我很难找到一个java实现来确定圆是否与矩形相交


这是确定我要画的圆是否完全可见的正确方法,还是有更简单的方法?

不要使用Graphics.fillOval(…)方法进行绘制

相反,您可以使用
Graphics2D.fill(Shape)
方法。可以使用
Ellipse2D
类创建椭圆形对象

但是我很难找到一个java实现来确定一个圆是否与一个矩形相交

形状
对象有一个方法,允许您获取
形状
的矩形边界。然后可以使用图形区域的Rectangle.contains(…)方法来确定形状是否完全包含在面板中


查看更多信息和想法。

使用Ellipse2D.Float实例化对象,例如:

Shape circle = new Ellipse2D.Float(100.0f, 100.0f, 100.0f, 100.0f);
基本上,从左到右的参数是:高度、宽度、左上角的X和左上角的Y,通过保持X和Y都大于或等于零,圆将始终可见

中JavaSE7中的Ellipse2D.Float记录了Float(…)的参数