anchor.diff:  *  link:http://nifty-gui.sourceforge.net/projects/1.4.2/nifty/nifty/apidocs/index.html[Nifty 1.4.2 JavaDoc]
   *  link:http://nifty-gui.sourceforge.net/projects/1.4.2/nifty/nifty-default-controls/apidocs/index.html[Nifty 1.4.2 Controls JavaDoc]
   *  link:https://hub.jmonkeyengine.org/t/anyone-succeeded-in-changing-text-in-nifty-programatically/14424[Forum post: Changing Text in Nifty GUIs programmatically]
  -//*  <<jme3/advanced/nifty_gui/groovy#,Nifty GUI with Groovy>>
  +//*  xref:jme3/advanced/nifty_gui/groovy.adoc[Nifty GUI with Groovy]
   
   
   == Nifty Logging (Nifty 1.4.2)
  
positive.code: *  A Nifty +++<abbr title="Graphical User Interface">GUI</abbr>+++ contains one or more *screens*.
  **  Only one screen is visible at a time.
  **  Name the first screen `start`. Name any others whatever you like.
  **  Screen are <<jme3/advanced/nifty_gui_java_interaction#,controlled by a Java Controller class>>.
  
  *  A screen contains one or more *layers*.
  **  Layers are containers that impose alignment on their contents (vertical, horizontal, or centered)
  
negative.code: Learn to add a Nifty +++<abbr title="Graphical User Interface">GUI</abbr>+++ to your jME3 game by going through this multi-part tutorial:
  
  .  Understand the Nifty GUI Concepts described on this page.
  .  xref:jme3/advanced/nifty_gui_best_practices.adoc[Browse this short list of Best Practices]
  .  Lay out your graphical user interface:
  **  xref:jme3/advanced/nifty_gui_xml_layout.adoc[Lay out the GUI in XML] – or –
  **  xref:jme3/advanced/nifty_gui_java_layout.adoc[Lay out the GUI in Java]
  
  .  Integrate the +++<abbr title="Graphical User Interface">GUI</abbr>+++ into the game:
  **  xref:jme3/advanced/nifty_gui_overlay.adoc[Overlay the User Interface Over the Screen]  – or –
  **  xref:jme3/advanced/nifty_gui_projection.adoc[Project the User Interface Onto a Texture]
  
  .  xref:jme3/advanced/nifty_gui_java_interaction.adoc[Interact with the GUI from Java]
  
  
  == Must Know: Nifty GUI Concepts
  