自从我上次与JPanel
玩游戏以来已经有一段时间了。我有一个小程序,其中包含一个类,其中包含名为Position
的X和Y位置的访问器和变换器。后来我创建了一个包含粒子位置的数组。
public Position[] pos = new Position[20];
public void writeToArray()
{
for(int i = 0; i < 20; i++)
{
pos[i] = new Position(randomx, randomy);
}
}
当我在main方法中输出结果时,我得到20个结果,如下所示。 Position@231564
这不是问题。我现在尝试在网格上绘制20个点,并且网格上的所有点都来自数组。
这都在构造函数中。
writeToArray();
JPanel p = new JPanel(){
protected void paintComponent(Graphics grphcs) {
super.paintComponent(grphcs);
Graphics2D g2d = (Graphics2D) grphcs;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.BLUE);
for(int i = 0; i < 20; i++)
{
//System.out.println(pos[i]);
g2d.fillOval((int)pos[i].getX(), (int)pos[i].getY(),5,5);
}
}
};
它没有得出分数。当我通过在控制台中显示位置来测试以查看值是什么时,它什么都不显示。控制台保持空白。为什么它不使用JPanel中数组中的值,如何修复它?