将随机点放在JPanel中

时间:2010-11-25 11:14:51

标签: java swing

我创建了一个JPanel,我希望我的应用程序创建几个随机点并将它们放在面板中。我用

定义了面板的大小
setBounds(20, 100, 553, 486);

我必须注意我的面板边界,并且只创建在这些边界中具有 x y 的随机点。我创建了以下代码:

for(int j=0;j<c;j++)
{
    number=rand.nextInt(300)+100;
    xPoint.add(number);
    yPoint.add(number);
}

但我的申请根本不起作用。我认为问题可能来自我的代码的这一部分。以上代码是否仅在面板中放置点?对不起,如果我的代码太长,但它的所有部分都彼此相关:

2 个答案:

答案 0 :(得分:1)

代码似乎只在(100,100,399,399)定义的帧的对角线上放置点。

我想你需要这样的东西:

int rndX = rand.nextInt(sizeX) + minX;
int rndY = rand.nextInt(sizeY) + minY;
xPoints.add(rndX);
yPoints.add(rndY);

答案 1 :(得分:1)

如果你得到一个NullPointerException,你应该只查看异常的堆栈跟踪,看看哪一行导致了你的问题。该行中的某些内容将不会被创建,因此为null。一旦确定了它是哪个对象,就创建它。

如果这样做无效,请使用相关代码更新您的帖子。这将是导致问题的任何行以及创建所涉及对象的代码。