Results 1 to 7 of 7
  1. #1
    Jolee is offline Member
    Join Date
    Mar 2009
    Posts
    4
    Rep Power
    0

    Exclamation FFT implementation (null pointer exception)

    Hi the problem I have is with these two classes below. What I am trying to do is to use the width, height and pixel array from Class and use it in FFT. However when running the program it says there's a null pointer exception at this points :
    Java Code:
    w = pixelGrabber.getWidth();
    Java Code:
    FFT fft = new FFT(pixels, w, h);
    I know the get width method in Class works as I print the width however it seems the variables I have created apparantly may be pointing to a wrong place.

    I hope someone can help.
    Thank you


    Java Code:
    package FFTMain;
    
    
    import java.awt.BorderLayout;
    import java.awt.image.BufferedImage;
    import java.awt.image.ImageObserver;
    import java.awt.image.PixelGrabber;
    import java.io.File;
    import java.io.IOException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.imageio.*;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    /**
     *
     */
    public class Class {
        public BufferedImage img;
        public int[] pixels;
        //int w, h;
        private int width;
        private int height;
    
        public Class(BufferedImage img) {
            this.img = img;
            try {
                img = ImageIO.read(new File("c:\\strawberry.jpg"));
            } catch (IOException ex) {
                Logger.getLogger(Class.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        public int[] getPixels() {
            width = img.getWidth();
            System.out.println("Width = " + width);
            height = img.getHeight();
            System.out.println("Height = " + height);
            pixels = new int[width * height];
            PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, pixels, 0, width);
            try {
                pg.grabPixels();
                for (int i = 0; i < pixels.length; i++) {
                    int pix = pixels[i];
                    pixels[i] = pix;
                    System.out.println(pix);
                    i++;
                //pixels[i] = (new Color(pix)).getRed();
                }
            } catch (InterruptedException e) {
                System.err.println("interrupted waiting for pixels!");
                return null;
            }
            System.out.println("hi");
            if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
                System.err.println("image fetch aborted or errored");
                return null;
            }
            return pixels;
        }
    
        public int getWidth() {
            return width;
        }
    
        public int getHeight() {
            return height;
        }
    
        public void setWidth(int width) {
            this.width = width;
        }
    
        public void setHeight(int height) {
            this.height = height;
        }
    
        public int[][] get2DPixels() {
            int[][] twoDPixels = null;
            TwoDArray twoD = new TwoDArray(pixels, img.getWidth(), img.getHeight());
            return twoDPixels;
        }
    
        public static void main(String[] args) {
    
            BufferedImage image = null;
            try {
                // Read from a file
                System.out.println("does it work");
                image = ImageIO.read(new File("c:\\strawberry.jpg"));
                //File sourceimage = new File("strawberry.jpg");
                //image = ImageIO.read(sourceimage);
                System.out.println("it works");
                Class bi = new Class(image);
                int[][] two;
                int[] array;
                array = bi.getPixels();
                two = bi.get2DPixels();
                //System.out.println(bi.getPixels(image, 2, 9, 8, 4));
                System.out.println(two);
                // Use a label to display the image
                JFrame frame = new JFrame();
                JLabel label = new JLabel(new ImageIcon(image));
                frame.getContentPane().add(label, BorderLayout.CENTER);
                frame.pack();
                frame.setVisible(true);
    
            } catch (IOException e) {
            }
        }
    
    }
    Java Code:
    package FFTMain;
    
    /**
     *
     */
    import java.lang.Math.*;
    
    /**
     * The FFT class contains methods to apply the 2D FFT to a
     * TwoDArray.
     *
     */
    public class FFT {
    
        /**
         * Object instance of Class.
         */
        private Class pixelGrabber;
        /**
         * Data structure to hold the input to the algorithm.
         */
        public TwoDArray input;
        /**
         * Data structure to hold the intermediate results of the algorithm.
         * After applying the 1D FFT to the columns but before the rows.
         */
        public TwoDArray intermediate;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        public TwoDArray output;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        private static int[] pixels;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        private static int w;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        private static int h;
    
        /**
         * Default no argument constructor.
         */
        public FFT() {
        }
    
        /** 
         * Constructor to set up an FFT object and then automatically 
         * apply the FFT algorithm.
         *
         * @param pixels  int array containing the image data.
         * @param w  The width of the image in pixels.
         * @param h  The height of the image in pixels.
         */
        public FFT(int[] pixels, int w, int h) {
    
            System.out.println("do it work?");
            w = pixelGrabber.getWidth();
            System.out.println("yes!!!!");
            h = pixelGrabber.getHeight();
            pixels = pixelGrabber.getPixels();
            input = new TwoDArray(pixels, w, h);
            intermediate = new TwoDArray(pixels, w, h);
            output = new TwoDArray(pixels, w, h);
    
            transform();
        }
    
        /**
         * Method to recursively apply the 1D FFT to a ComplexNumber array.
         *
         * @param  x  A ComplexNumber array containing a row or a column of
         * image data.
         * @return A ComplexNumber array containing the result of the 1D FFT.
         */
        static ComplexNumber[] recursiveFFT(ComplexNumber[] x) {
    
            ComplexNumber z1, z2, z3, z4, tmp, cTwo;
            int n = x.length;
            int m = n / 2;
            ComplexNumber[] result = new ComplexNumber[n];
            ComplexNumber[] even = new ComplexNumber[m];
            ComplexNumber[] odd = new ComplexNumber[m];
            ComplexNumber[] sum = new ComplexNumber[m];
            ComplexNumber[] diff = new ComplexNumber[m];
            cTwo = new ComplexNumber(2, 0);
            if (n == 1) {
                result[0] = x[0];
            } else {
                z1 = new ComplexNumber(0.0, -2 * (Math.PI) / n);
                tmp = ComplexNumber.cExp(z1);
                z1 = new ComplexNumber(1.0, 0.0);
                for (int i = 0; i < m; ++i) {
                    z3 = ComplexNumber.cSum(x[i], x[i + m]);
                    sum[i] = ComplexNumber.cDiv(z3, cTwo);
                    z3 = ComplexNumber.cDif(x[i], x[i + m]);
                    z4 = ComplexNumber.cMult(z3, z1);
                    diff[i] = ComplexNumber.cDiv(z4, cTwo);
                    z2 = ComplexNumber.cMult(z1, tmp);
                    z1 = new ComplexNumber(z2);
                }
                even = recursiveFFT(sum);
                odd = recursiveFFT(diff);
                for (int i = 0; i < m; ++i) {
                    result[i * 2] = new ComplexNumber(even[i]);
                    result[i * 2 + 1] = new ComplexNumber(odd[i]);
                }
            }
            return result;
        }
    
        /**
         * Method to apply the 2D FFT by applying the recursive 1D FFT to the
         * columns and then the rows of image data.
         */
        void transform() {
            for (int i = 0; i < input.size; ++i) {
                intermediate.putColumn(i, recursiveFFT(input.getColumn(i)));
            }
            for (int i = 0; i < intermediate.size; ++i) {
                output.putRow(i, recursiveFFT(intermediate.getRow(i)));
            }
            for (int j = 0; j < output.values.length; ++j) {
                for (int i = 0; i < output.values[0].length; ++i) {
                    intermediate.values[i][j] = output.values[i][j];
                    input.values[i][j] = output.values[i][j];
                }
            }
        }
    
        public static void main(String[] args) {
    
            FFT fft = new FFT(pixels, w, h);
            fft.transform();
    
        }
    }

  2. #2
    Nicholas Jordan's Avatar
    Nicholas Jordan is offline Senior Member
    Join Date
    Jun 2008
    Location
    Southwest
    Posts
    1,018
    Rep Power
    8

    Smile a few ideas .

    First, pending review by someone who has deeper knowledge, I suggest renaming
    Java Code:
    Class
    to something other than Class - that is in all likelyhood a name collision with java.lang.Class or at the least leaves me adrift on where to look.

    Next thing I see is two mains, it would seem there should be only one, I would put it in the JFrame declaration and instantiation but could be made to work the other way - from the FFT class. Then I do not see in the main ( the first one ) where any image data is passed to FFT - which is a likely source of an Exception, most likely a null pointer exception.

    Next thing would be to ask to see the trace logs, and review the code to put Log.save( exception.getMessage()); in several places. Show the trace log(s) and or error returns from exception objects with raw copy-paste to code tags with little if any comment added.

    The code does:
    Java Code:
    frame.getContentPane().add(label, BorderLayout.CENTER);
    but where does the image get passed to FFT?

    Next thing I see is:
    Java Code:
    PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, pixels, 0, width);
    then we have
    Java Code:
            PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, pixels, 0, width);
            try {
                pg.grabPixels();
                for (int i = 0; i < pixels.length; i++) {
                    int pix = pixels[i];
                    pixels[i] = pix;
                    System.out.println(pix);
                    i++;
                //pixels[i] = (new Color(pix)).getRed();
                }
            } catch (InterruptedException e) {
                System.err.println("interrupted waiting for pixels!");
                return null;
            }
    which should be redesigned. Several approaches are avaiable:
    • Java Code:
      catch( Throwable t ) { Log.append(t.getMessage); return new int[0];}
      Which is a rather sophisticated idea in that you have to check for zero length array whererver this returns to.
    • A long catch chain built by examining all the possible exceptions and getting custom strings for each one based on prototyping efforts to narrow the basis of failure.
    • Generate a trivial image ( [][] ) in a catch and return that, doing experimentation now rather than at Alpha 1.0
    • Rewrite the overall code path first, then put in one of the above ideas in this list.
    Introduction to Programming Using Java.
    Cybercartography: A new theoretical construct proposed by D.R. Fraser Taylor

  3. #3
    Jolee is offline Member
    Join Date
    Mar 2009
    Posts
    4
    Rep Power
    0

    Default

    Hi thank you for that, I've made a few changes, however when I tried to add
    Java Code:
    catch( Throwable t ) { Log.append(t.getMessage); return new int[0];}
    it gives me an forbidden import notification, so I am unable to do that. Also because the FFT class only requires the pixel array I didn't think it was neccessary to pass it to the FFT class. However I could be wrong. I also removed the main method from GrabPixels because I don't think that is needed. However when I run the package none of the methods in the FFT class are run, the output I get back is what I normally get back when I had a main method in th GrabPixels class and run it on its own.

    Hopefully you can help me with this. I am new to FFT and I used source code I found on the net so trying to make it work for me.

    Thank you!


    Java Code:
    package FFTMain;
    
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    import java.awt.BorderLayout;
    import java.awt.image.BufferedImage;
    import java.awt.image.ImageObserver;
    import java.awt.image.PixelGrabber;
    import java.io.File;
    import java.io.IOException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.imageio.*;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    /**
     *
     */
    public class GrabPixels {
        public BufferedImage img;
        public int[] pixels;
        //int w, h;
        private int width;
        private int height;
    
     //   public GrabPixels(BufferedImage img) {
    
        public GrabPixels() {
      //      this.img = img;
            try {
                img = ImageIO.read(new File("c:\\strawberry.jpg"));
            } catch (IOException ex) {
                Logger.getLogger(GrabPixels.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        public GrabPixels(BufferedImage img) {
            this.img = img;
            try {
                img = ImageIO.read(new File("c:\\strawberry.jpg"));
            } catch (IOException ex) {
                Logger.getLogger(GrabPixels.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        public int[] getPixels() {
            if(img!=null) {
            width = img.getWidth();
            System.out.println("Width = " + width);
            height = img.getHeight();
            System.out.println("Height = " + height);
            pixels = new int[width * height];
    
            }
            PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, pixels, 0, width);
            try {
                pg.grabPixels();
                for (int i = 0; i < pixels.length; i++) {
                    int pix = pixels[i];
                    pixels[i] = pix;
                    System.out.println(pix);
                    i++;
                //pixels[i] = (new Color(pix)).getRed();
                }
            } catch (InterruptedException e) {
                System.err.println("interrupted waiting for pixels!");
                return null;
            }
            System.out.println("hi");
            if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
                System.err.println("image fetch aborted or errored");
                return null;
            }
            return pixels;
        }
    
        public int getWidth() {
            return width;
        }
    
        public int getHeight() {
            return height;
        }
    
        public void setWidth(int width) {
            this.width = width;
        }
    
        public void setHeight(int height) {
            this.height = height;
        }
    
        public int[][] get2DPixels() {
            int[][] twoDPixels = null;
            TwoDArray twoD = new TwoDArray(pixels, img.getWidth(), img.getHeight());
            return twoDPixels;
        }
    
        public static void main(String[] args) {
    
            BufferedImage image = null;
            try {
                // Read from a file
                System.out.println("does it work");
                image = ImageIO.read(new File("c:\\strawberry.jpg"));
                //File sourceimage = new File("strawberry.jpg");
                //image = ImageIO.read(sourceimage);
                System.out.println("it works");
                GrabPixels bi = new GrabPixels(image);
                int[][] two;
                int[] array;
                array = bi.getPixels();
                two = bi.get2DPixels();
                //System.out.println(bi.getPixels(image, 2, 9, 8, 4));
                System.out.println(two);
                // Use a label to display the image
                JFrame frame = new JFrame();
                JLabel label = new JLabel(new ImageIcon(image));
                frame.getContentPane().add(label, BorderLayout.CENTER);
                frame.pack();
                frame.setVisible(true);
    
    
            } catch (IOException e) {
            }
        }
    //    public static void main(String[] args) {
    //        BufferedImage image = null;
    //        try {
    //            // Read from a file
    //            System.out.println("does it work");
    //            image = ImageIO.read(new File("c:\\strawberry.jpg"));
    //            //File sourceimage = new File("strawberry.jpg");
    //            //image = ImageIO.read(sourceimage);
    //            System.out.println("it works");
    //            GrabPixels bi = new GrabPixels();
    //            System.out.println(bi.getPixels(image, 2, 9, 8, 4));
    //            System.out.println(twoDPixels);
    //            // Use a label to display the image
    //            JFrame frame = new JFrame();
    //            JLabel label = new JLabel(new ImageIcon(image));
    //            frame.getContentPane().add(label, BorderLayout.CENTER);
    //            frame.pack();
    //            frame.setVisible(true);
    //
    //
    //        } catch (IOException e) {
    //        }
    //    }
    }

    Java Code:
    package FFTMain;
    
    import java.lang.Math.*;
    
    /**
     * The FFT class contains methods to apply the 2D FFT to a
     * TwoDArray.
     *
     */
    public class FFT {
    
        /**
         * Object instance of GrabPixels.
         */
        private GrabPixels grabPix;
        /**
         * Data structure to hold the input to the algorithm.
         */
        public TwoDArray input;
        /**
         * Data structure to hold the intermediate results of the algorithm.
         * After applying the 1D FFT to the columns but before the rows.
         */
        public TwoDArray intermediate;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        public TwoDArray output;
        /**
         * Data structure to hold the ouput of the algorithm.
         */
        private static int[] pix;
        /**
         * Width of the image in pixels.
         */
        private static int width;
        /**
         * Height of the image in pixels.
         */
        private static int height;
    
        /**
         * Default no argument constructor.
         */
        public FFT() {
        }
    
        /** 
         * Constructor to set up an FFT object and then automatically 
         * apply the FFT algorithm.
         *
         * @param pixels  int array containing the image data.
         * @param w  The width of the image in pixels.
         * @param h  The height of the image in pixels.
         */
        public FFT(int[] pixels, int w, int h) {
    
            grabPix = new GrabPixels();
    
            if(grabPix!= null) {
    
    
            System.out.println("do it work?");
            width = grabPix.getWidth();
            System.out.println("yes!!!!");
            height = grabPix.getHeight();
            pix = grabPix.getPixels();
            input = new TwoDArray(pixels, w, h);
            intermediate = new TwoDArray(pixels, w, h);
            output = new TwoDArray(pixels, w, h);
    
            transform();
            }
        }
    
        /**
         * Method to recursively apply the 1D FFT to a ComplexNumber array.
         *
         * @param  x  A ComplexNumber array containing a row or a column of
         * image data.
         * @return A ComplexNumber array containing the result of the 1D FFT.
         */
        static ComplexNumber[] recursiveFFT(ComplexNumber[] x) {
    
            ComplexNumber z1, z2, z3, z4, tmp, cTwo;
            int n = x.length;
            int m = n / 2;
            ComplexNumber[] result = new ComplexNumber[n];
            ComplexNumber[] even = new ComplexNumber[m];
            ComplexNumber[] odd = new ComplexNumber[m];
            ComplexNumber[] sum = new ComplexNumber[m];
            ComplexNumber[] diff = new ComplexNumber[m];
            cTwo = new ComplexNumber(2, 0);
            if (n == 1) {
                result[0] = x[0];
            } else {
                z1 = new ComplexNumber(0.0, -2 * (Math.PI) / n);
                tmp = ComplexNumber.cExp(z1);
                z1 = new ComplexNumber(1.0, 0.0);
                for (int i = 0; i < m; ++i) {
                    z3 = ComplexNumber.cSum(x[i], x[i + m]);
                    sum[i] = ComplexNumber.cDiv(z3, cTwo);
                    z3 = ComplexNumber.cDif(x[i], x[i + m]);
                    z4 = ComplexNumber.cMult(z3, z1);
                    diff[i] = ComplexNumber.cDiv(z4, cTwo);
                    z2 = ComplexNumber.cMult(z1, tmp);
                    z1 = new ComplexNumber(z2);
                }
                even = recursiveFFT(sum);
                odd = recursiveFFT(diff);
                for (int i = 0; i < m; ++i) {
                    result[i * 2] = new ComplexNumber(even[i]);
                    result[i * 2 + 1] = new ComplexNumber(odd[i]);
                }
            }
            return result;
        }
    
        /**
         * Method to apply the 2D FFT by applying the recursive 1D FFT to the
         * columns and then the rows of image data.
         */
        void transform() {
            for (int i = 0; i < input.size; ++i) {
    
                intermediate.putColumn(i, recursiveFFT(input.getColumn(i)));
            }
            for (int i = 0; i < intermediate.size; ++i) {
                output.putRow(i, recursiveFFT(intermediate.getRow(i)));
            }
            for (int j = 0; j < output.values.length; ++j) {
                for (int i = 0; i < output.values[0].length; ++i) {
                    intermediate.values[i][j] = output.values[i][j];
                    input.values[i][j] = output.values[i][j];
                }
            }
        }
    
        public static void main(String[] args) {
    
    
            FFT fft = new FFT(pix, width, height);
    
            fft.transform();
    
        }
    }

  4. #4
    toadaly is offline Senior Member
    Join Date
    Jan 2009
    Posts
    671
    Rep Power
    6

    Default

    I hate to be a jerk, but this is horrible and makes it very difficult for us to help you:

    Java Code:
    public Class(BufferedImage img) {
            this.img = img;
            try {
                img = ImageIO.read(new File("c:\\strawberry.jpg"));
            } catch (IOException ex) {
                Logger.getLogger(Class.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        public int[] getPixels() {
            width = img.getWidth();
    Do not name a class "Class". Name your classes, methods, and variables with meaningfull names. That's a nit.

    The real problem here is that important member variables are being set as side effects. In the code above for example, is it intuitive that your class-wide 'width' variable is set via the getPixels method? Of course not. I can't see any reason to keep track of 'width' and 'height' Those are aspects of your image. When you need them, just call getWidth() (etc) on your image.

    Next, your constructor logs an error if the file does not exist, but then continues merrily along!!! Do not do that! If you want to capture an error to log it, that's fine, but make sure to re-throw an error so users of your class can not end up with an uninitialized instance of your class. Most exceptions/errors are real problems, and if you don't know what to do with them, pass them up the call chain.

    I'm glad to see someone here doing some signal processing, but might I suggest using a native FFT approach? Java really is a poor choice for that. Use JNI wrapped around fftw if you want both high performance as well as everything Java brings to the table. (I'm sure this has already been done BTW).

    FYI, I did appologize for being a jerk up front.

  5. #5
    Nicholas Jordan's Avatar
    Nicholas Jordan is offline Senior Member
    Join Date
    Jun 2008
    Location
    Southwest
    Posts
    1,018
    Rep Power
    8

    Talking not hello world

    Quote Originally Posted by Jolee View Post
    Hi thank you for that, I've made a few changes, however when I tried to add
    - substantial redesign, my code:
    Java Code:
    catch( Throwable t ) { Log.append(t.getMessage); return new int[0];}
    That did not run is what is called psuedo-code, in other words a manner of speaking that is neither code nor regular speech... just shorthand for something. Suffice it to say going and getting some code from somewhere on the net to do FFT at the skill level we see here is not likely to produce efficient, well designed programs employing code correctness. Search for a program called Hello World - work on that awhile + buy about ten or so very advanced books and dream of the day you graduate from SETI at Home Institute for Signal Processing.

    Quote Originally Posted by Jolee View Post
    it gives me an forbidden import notification, so I am unable to do that.
    - replace with
    Java Code:
    System.out.println();
    put something in between the ( and the ) that tells what is going on at that point, or read how to use the Log utility that you are using.

    Quote Originally Posted by Jolee View Post
    Also because the FFT class only requires the pixel array I didn't think it was neccessary to pass it to the FFT class. However I could be wrong. I also removed the main method from GrabPixels because I don't think that is needed. However when I run the package none of the methods in the FFT class are run, the output I get back is what I normally get back when I had a main method in th GrabPixels class and run it on its own.
    The mains can stay, in fact to demonstrate a point:
    Java Code:
    public static void main(String[] args){return;}
    public static void main(String args){return;}
    public static void main(StringBuffer args,String[] args, String args){return;}
    public static void main(String[] args, HeadlessException he){return;}
    public static void main(String[] args,ByteLookupTable ){return;}
    public static void main(){return;}
    could be place all over the place and, subsequent to some study on your part, the code would not only compile and be useable - it would as well confuse those who tried to do FFT in place of Hello World and keep books sales at current levels.

    Quote Originally Posted by Jolee View Post
    Hopefully you can help me with this. I am new to FFT and I used source code I found on the net so trying to make it work for me.
    You are new to Java, I challenge you - as good faith that you are trying - to provide us with a intro level discussion of how FFT fails to compartmentalize upper-case "I" from "L" in Arial Font - providing approach concepts for distinguishing those in Optical Character Recognition.

    This is legit, I will be working today on bringing in exactly that from flatbed image devices as a graphic - this is a non-trivial problem ( fancy talk for "it matters" ) and if you come up with anything useful, it will in fact be used for exactly that purpose.
    Introduction to Programming Using Java.
    Cybercartography: A new theoretical construct proposed by D.R. Fraser Taylor

  6. #6
    toadaly is offline Senior Member
    Join Date
    Jan 2009
    Posts
    671
    Rep Power
    6

    Default

    Quote Originally Posted by Nicholas Jordan View Post
    This is legit, I will be working today on bringing in exactly that from flatbed image devices as a graphic - this is a non-trivial problem ( fancy talk for "it matters" ) and if you come up with anything useful, it will in fact be used for exactly that purpose.
    Everyone knows you should use wavelets instead of FFT's for that. ;)

  7. #7
    Nicholas Jordan's Avatar
    Nicholas Jordan is offline Senior Member
    Join Date
    Jun 2008
    Location
    Southwest
    Posts
    1,018
    Rep Power
    8

    Default

    Well, ( ;) ) explain how.

    I'll start a new thread.
    Introduction to Programming Using Java.
    Cybercartography: A new theoretical construct proposed by D.R. Fraser Taylor

Similar Threads

  1. Null pointer Exception
    By peiceonly in forum New To Java
    Replies: 8
    Last Post: 09-05-2010, 06:48 PM
  2. Null Pointer Exception
    By andre1011 in forum Advanced Java
    Replies: 4
    Last Post: 02-07-2009, 03:30 AM
  3. Null Pointer Exception
    By ScKaSx in forum New To Java
    Replies: 1
    Last Post: 01-24-2009, 11:27 AM
  4. Null Pointer Exception
    By Jacinth in forum New To Java
    Replies: 4
    Last Post: 01-22-2009, 01:47 PM
  5. Null Pointer Exception
    By demiser55 in forum New To Java
    Replies: 1
    Last Post: 09-22-2008, 06:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •