class MyScreenBuilder < ScreenBuilder def initialize(title) super controller(DefaultScreenController.new) layer(MyLayerBuilder.new("Layer_ID")) end end class MyLayerBuilder < LayerBuilder def initialize(id) super childLayoutVertical panel(MyPanelBuilder.new("Panel_ID")) end end class MyPanelBuilder < PanelBuilder def initialize(id) super childLayoutCenter control(MyButtonBuilder.new("Button_ID", "Hello Nifty")) end end class MyButtonBuilder < ButtonBuilder def initialize(id, label) super alignCenter valignCenter height "5%" width "15%" end end nifty.addScreen("Screen_ID", MyScreenBuilder.new("Hello Nifty Screen"))