无法访问JPanel内部的变量

时间:2015-10-13 11:08:56

标签: java arrays jpanel draw

自从我上次与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中数组中的值,如何修复它?

0 个答案:

没有答案