尝试获取单独的RGB组件时出现NullPointerException

时间:2015-02-26 05:31:06

标签: java arrays algorithm colors nullpointerexception

我试图从2D颜色数组中的每个元素获取单独的RGB组件,但它不断抛出NullPointerException并且我不确定原因。

代码:

    Color[][] grid = new Color[MaxColors][MaxColors];

    int R1 = 0;


    for(int x = 0; x < N; x++){
        for(int y = 0; y < N; y++){


            R1 = grid[x][y].getRed(); 
            /* do something with R1*/



        }
    }

我还尝试首先将颜色添加到列表中,然后将其转换为一维数组。但我仍然得到同样的错误。

    List<Color> colorList = new ArrayList<Color>();

    for(int x = 0; x < N; x++){
        for(int y = 0; y < N; y++){


            colorList.add(grid[x][y]);

        }
    }

    Color[] SortColors = colorList.toArray(new Color[colorList.size()]);       

    for(int x = 0; x < SortColors.length; x++){

        R1 = SortColors[x].getRed();
       System.out.print(" " + SortColors[x]);
       System.out.print(" " + R1);

    }

它打印以下内容:

java.awt.Color[r=98,g=85,b=217] 98 java.awt.Color[r=254,g=110,b=177] 254Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at DrawGrid.ColourSorting.sortColours(ColourSorting.java:43)

0 个答案:

没有答案