我创建了一个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);
}
但我的申请根本不起作用。我认为问题可能来自我的代码的这一部分。以上代码是否仅在面板中放置点?对不起,如果我的代码太长,但它的所有部分都彼此相关:
答案 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。一旦确定了它是哪个对象,就创建它。
如果这样做无效,请使用相关代码更新您的帖子。这将是导致问题的任何行以及创建所涉及对象的代码。