首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建Ellipse2D数组?

如何创建Ellipse2D数组?
EN

Stack Overflow用户
提问于 2011-07-17 23:50:12
回答 2查看 1.8K关注 0票数 2

我有一个我一直在工作的程序:它从用户那里获取数据,用它做一些数学运算,然后在屏幕上显示一个椭圆,当输入新数据时,旧的椭圆消失,新的椭圆取而代之。然而,我需要程序来保持屏幕上的旧椭圆以及新的椭圆,以便我可以比较大小。我的解决方案是拥有它,这样当创建一个椭圆时,它被存储在一个数组中,然后椭圆的数组被绘制到屏幕上,我也需要它,以便用户可以清除该数组并重新开始。但是,我无法让代码正常工作。你能帮帮忙吗?

下面是我用来创建和绘制椭圆的代码,所有使用的变量都是数字。

代码语言:javascript
复制
public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    g2.setPaint(Color.white);
   g2.draw(new Ellipse2D.Double(((Background.getWidth()) / 2) - (gblSemiMajaxis / 2), ((Background.getHeight()) / 2) - (gblsemiMinoraxis / 2), gblSemiMajaxis, gblsemiMinoraxis));
}
EN

回答 2

Stack Overflow用户

发布于 2011-07-18 00:38:23

只是对伊恩·麦克拉里德的回答进行扩展:

代码语言:javascript
复制
// imports
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Ellipse2D;
import java.util.ArrayList;

...

ArrayList<Ellipse2D> ellipseList = new ArrayList<Ellipse2D>();

public void createEllipse(double gblSemiMajaxis, double gblSemiMinoraxis) {
    Ellipse2D e = new Ellipse2D.Double(((Background.getWidth()) / 2) - (gblSemiMajaxis / 2), ((Background.getHeight()) / 2) - (gblSemiMinoraxis / 2), gblSemiMajaxis, gblSemiMinoraxis);
    ellipseList.add(e);
}

public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    g2.setPaint(Color.white);

    for (Ellipse2D e : ellipseList) {
        g2.draw(e);
    }
}
票数 1
EN

Stack Overflow用户

发布于 2011-07-18 00:12:25

我建议给你的类一个ArrayList<Ellipse2D>类型的成员变量。当用户输入他们的输入时,创建Ellipse2D并将其添加到列表中。在paint函数中,您可以遍历列表并绘制已创建的每个椭圆。当用户想要清除所有省略号时,可以使用ArrayList的clear()方法。

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

https://stackoverflow.com/questions/6724972

复制
相关文章

相似问题

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