From the developer's point of view, HTML controls may be handled by a client-side scripting language (such as JavaScript or Visual Basic) or server-side programs (such as C executables or interpreted scripts written in Perl or Tcl) or both. For example, a client-side script may perform routine calculations and data validation while a script on the server maintains a database.
More complicated user interfaces may be implemented with Java, which provides all of the above HTML controls plus scrollbars and pull-down menus. Java also makes it possible to monitor and respond to arbitrary mouse actions such as pointing, clicking, double-clicking, pressing, and dragging.
Other elements of a typical graphical user interface include cursors (or pointers), icons, and keyboard shortcuts.