I have following code:
[java]
package mygame;
import com.jme3.app.SimpleApplication;
import com.jme3.niftygui.NiftyJmeDisplay;
import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.builder.LayerBuilder;
import de.lessvoid.nifty.builder.PanelBuilder;
import de.lessvoid.nifty.builder.ScreenBuilder;
import de.lessvoid.nifty.controls.button.builder.ButtonBuilder;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.elements.render.TextRenderer;
import de.lessvoid.nifty.screen.DefaultScreenController;
/**
-
@author iamcreasy
*/
public class Main extends SimpleApplication {public static void main(String[] args) {
Main app = new Main();
app.start();
}
Nifty nifty;@Override
public void simpleInitApp() { // make the cube appear in the scene
NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(
assetManager, inputManager, audioRenderer, guiViewPort);
nifty = niftyDisplay.getNifty();
guiViewPort.addProcessor(niftyDisplay);
flyCam.setDragToRotate(true);
nifty.loadStyleFile(“nifty-default-styles.xml”);
nifty.loadControlFile(“nifty-default-controls.xml”);
guiFont = assetManager.loadFont(“Fonts/aaa.fnt”);
nifty.addScreen(“Screen_ID”, new ScreenBuilder(“Hello Nifty Screen”) {
{
controller(new DefaultScreenController()); // Screen properties// <layer> layer(new LayerBuilder("Layer_ID") { { childLayoutVertical(); // layer properties, add more... // <panel> panel(new PanelBuilder("Panel_ID") { { childLayoutCenter(); // panel properties, add more... // GUI elements control(new ButtonBuilder("Button_ID", "Hello Nifty") { { alignCenter(); valignCenter(); height("5%"); width("15%"); } }); } }); // </panel> } }); // </layer> } }.build(nifty)); // </screen> nifty.gotoScreen("Screen_ID"); // start the screen Element niftyElement = nifty.getCurrentScreen().findElementByName("Button_ID"); niftyElement.getRenderer(TextRenderer.class).setText("hello world!");
}
}
[/java]
it got
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.NullPointerException
at mygame.Main.simpleInitApp(Main.java:71)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:226)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
at java.lang.Thread.run(Thread.java:662)