Monday 15 April 2013

java - NullPointerException - I don't understand -



java - NullPointerException - I don't understand -

what wrong code? maintain getting error

class="lang-none prettyprint-override">exception in thread "thread-2" java.lang.nullpointerexception @ gui.render(gui.java:68) @ gui.run(gui.java:51)

please help

import graphics.*; import javax.swing.*; import java.awt.*; import java.awt.canvas; import java.awt.image.bufferstrategy; import java.awt.image.bufferedimage; import java.awt.image.databufferint; public class gui extends canvas implements runnable { private static final long serialversionuid = 1l; final static string label_text = "game"; public static final int width = 1020; public static final int height = 680; private thread thread; private screen screen; private render render; private bufferedimage img; private boolean running = false; private int[] pixels; public void display() { screen = new screen(height, width); vimg = new bufferedimage(width, height, bufferedimage.type_int_rgb); pixels = ((databufferint)img.getraster().getdatabuffer()).getdata(); } private void start() { if(running) return; running = true; thread = new thread(this); thread.start(); } private void stop() { if(!running) return; running = false; seek { thread.join(); } grab (exception e) { e.printstacktrace(); system.exit(0); } } public void run() { while (running){ tick(); render(); } } public void tick() { } private void render() { bufferstrategy bs = this.getbufferstrategy();; if(bs == null) { createbufferstrategy(3); return; } screen.render(); (int = 0; <width*height; i++){ pixels[i] = screen.pixels[i]; } graphics g = bs.getdrawgraphics(); g.drawimage(img, 0, 0, width, height, null); g.dispose(); bs.show(); } /** * create , show gui. */ public static void main(string[] args) { /*create canvas*/ gui game = new gui(); /*create , set frame*/ jframe frame = new jframe("gui"); frame.setdefaultcloseoperation(jframe.exit_on_close); /*add content pane frame*/ frame.add(game); /*size , display frame.*/ frame.setsize(width, height); frame.setvisible(true); frame.setlocationrelativeto(null); game.start(); } } class="lang-java prettyprint-override"> bundle graphics; public class render { public final int width; public final int height; public int[] pixels; public render(int height, int width) { this.width = width; this.height = height; pixels = new int[width*height]; } public void draw(render render, int xoffset, int yoffset) { (int y =0; y<height; y++) { int ypix = y + yoffset; (int x =0; x<width; x++) { int xpix = x + xoffset; pixels[xpix+ypix*width] = pixels[x+y*width]; } } } } bundle graphics; import java.util.random; import graphics.render; public class screen extends render{ private render test; public screen(int width, int height) { super(width, height); random rand = new random(); test = new render(256, 256); (int =0; i< 256*256; i++){ test.pixels[i] = rand.nextint(); } } public void render() { draw(test, 0, 0); } }

you haven't called display() initialize variables before utilize them.

java nullpointerexception

No comments:

Post a Comment