To use GUIObject, you first need to load GUIKit using Needs["GUIKit`"].
A GUIObject represents a live interface instance wrapping both the created Java objects as well as the runtime environment associated with the scripting code and Mathematica contexts.
GUIObject objects are comprised mostly of private definitions, but the first argument is a JavaObject instance of the top-level widget in the interface and supports direct J/Link style calls.
A GUIObject is created whenever GUILoad or GUIRun is called.
A GUIObject is released interactively when an interface is closed or programmatically using CloseGUIObject or ReleaseGUIObject.