首页
学习
活动
专区
圈层
工具
发布

Java AWT界
EN

Stack Overflow用户
提问于 2014-05-18 22:29:55
回答 2查看 624关注 0票数 1

我有一项任务,用java.awt.Graphics绘制一定数量的圆圈。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-18 22:40:38

不要使用Graphics.fillOval(.)方法画这幅画。

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

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

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

有关更多信息和想法,请访问玩弄形状

票数 1
EN

Stack Overflow用户

发布于 2014-05-18 22:41:27

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

代码语言:javascript
复制
Shape circle = new Ellipse2D.Float(100.0f, 100.0f, 100.0f, 100.0f);

基本上,从左到右的参数是:高度、宽度、左上角的X和左上角的Y,通过保持X和Y都大于或等于零,你的圆圈总是可见的。

浮点的参数(.)中的Java 7中的Ellipse2D.Float文档。

http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Ellipse2D.Float.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23727523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档