GUI Structure Approach

Hi. I am new to the jme3 and nifty gui and I came across an issue I believe many people already have it figured out, but I really didn’t commit to any confortable approach so far.

The issue is about game UI and the HUD.
My game is a strategy game (aoe-like) so I have to show the HUD (output only) and the action windows (input and output) which will be shown or not upon player input. That means each window AND the HUD would be a (nifty-)screen but I want the HUD to be shown among the current active window.

So I thought about two ways to go.

  • First One: Directly draw image and text (from jme api) to the screen and render the windows as screens from nifty.
    That way I could have both HUD and windows show at some point, but I’d be limited to manually set the HUD up by static code.

  • Second One: Write one GAME-SCREEN which would have all the game UI layered out and those layers would be hidden or not, each one being the HUD, or any other input window.

Which one seems to be fit the best? Or Is there any other approach?
Thanks in advance.

And as always, sorry for my English.