JMP App( Set Name( "Dashboard" ), Set Description( "Description" ), Auto Launch( 1 ), Snap To Grid( 1 ), Show Grid( 1 ), Show Properties( 1 ), Show Sources( 1 ), Group By Category( 0 ), Dashboard Mode( 1 ), Parameters, //Tables( DataTable3 = GuiTable( Set Path( "" ), Set Label( "M_P" ), Set Location( "Current Data Table" ), Set Invisible( 0 ) ) ), Script(JSL Quote( ) ), Allocate( Module1 = Plan( PreAllocate, Script(JSL Quote( OnModuleLoad({}, ); thisModuleInstance << Create Objects; Try(Main_Page << Set Scriptable Object(thisApplication)); ) ), Allocate( Main_Page = Tab Page Box(); List1 = V List Box(); // Here is the button creation. I have two methods. Method 1 works. Method 2 does not. // Method 1 Button1 = Button Box(); Button2 = Button Box(); //Method 2 //If(1, Button1 = Button Box() ); //If(1, Button2 = Button Box() ); ), Organize( Reparent( List1( Button2 ) ); Reparent( List1( Button1 ) ); Reparent( Main_Page( List1 ) ); Relocate( Main_Page( 0, 0 ) ); ), Initialize( Main_Page << Title( "Dashboard" ); Main_Page << Closeable( 1 ); Main_Page << Moveable( 1 ); List1 << set horizontal( 0 ); Button1 << Border( {Left( 5 ), Top( 5 ), Right( 5 ), Bottom( 5 )} ); Button1 << Set Button Name( "Jira" ); Button1 << Set Icon Location( "Right" ); Button1 << Set Function( Web( "https://www.google.com" ) ); Button2 << Border( {Left( 5 ), Top( 5 ), Right( 5 ), Bottom( 5 )} ); Button2 << Set Button Name( "Data Table" ); Button2 << Set Icon Location( "Right" ); Button2 << Set Function( Web( "https://www.google.com" ) ); ) ) ), Initialize( Module1 << Auto Launch( 1 ); Module1 << Set Module Type( "Report" ); Module1 << Set Window Title( "^TABLENAME - ^APPNAME" ); Module1 << Set Min Size( 0, 0 ); Module1 << Set Max Size( 39990000, 39990000 ); Module1 << Set Auto Stretching( ., . ); ) ) << Edit