gpt4 book ai didi

java - 创建形状并将其放入数组列表中。 ( java )

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:30 24 4
gpt4 key购买 nike

所以我需要创建大约 10 个形状并将其放入数组列表形状中,然后将列表传递给组件。

我需要一点帮助,想知道我是否走在正确的道路上。

所以这是代码:

public class ShapeDemo
{
public static final int WIDTH = 300 ;
public static final int HEIGHT = 400 ;

public static void main(String[] args)
{
ArrayList<Shape> shapes = new ArrayList<Shape>() ;
Random random = new Random() ;
int x, y ;
// create the ten shapes and put them in shapes array list below.
/*
put code here

*/

JComponent component = new ShapeComponent2(shapes) ;
JFrame frame = new JFrame("") ;
frame.add(component) ;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
frame.setSize(WIDTH, HEIGHT) ;
frame.setVisible(true) ;
}
}

我想做的是创建形状:

shapes.add( new Ellipse.Double(x,y,WIDTH,HEIGHT));

重复 10 次。但这是行不通的。

任何帮助将不胜感激。

编辑:这些是我的进口:

import javax.swing.JFrame ;
import javax.swing.JComponent ;
import java.awt.Rectangle ;
import java.awt.geom.Line2D ;
import java.awt.geom.Ellipse2D ;
import java.awt.geom.Arc2D ;
import java.awt.Shape ;
import java.util.ArrayList ;
import java.util.Random ;

最佳答案

如果 x 和 y 的每个形状都应该有随机值,那么完成您想要完成的任务的最佳方法是使用 for 循环:

public class ShapeDemo
{
public static final int WIDTH = 300 ;
public static final int HEIGHT = 400 ;

public static void main(String[] args)
{
ArrayList<Shape> shapes = new ArrayList<Shape>() ;
Random random = new Random() ;
int x, y ;
// create the ten shapes and put them in shapes array list below.

for (int i=1; i<=10;i++) {
x = random.nextInt(100);// random number in range of 0-99. Can be changed if needed to suit
y = random.nextInt(100);
shapes.add( new Ellipse.Double(x,y,WIDTH,HEIGHT));
}
JComponent component = new ShapeComponent2(shapes) ;
JFrame frame = new JFrame("") ;
frame.add(component) ;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
frame.setSize(WIDTH, HEIGHT) ;
frame.setVisible(true) ;
}
}

for 循环每次都会为整数 x 和 y 提供一个随机数,并应向 ArrayList 添加 10 个新形状。

关于java - 创建形状并将其放入数组列表中。 ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35605842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com