Class View

Direct Known Subclasses:
FrameView

public class View extends AbstractBean
A View encapsulates a top-level Application GUI component, like a JFrame or an Applet, and its main GUI elements: a menu bar, tool bar, component, and a status bar. All of the elements are optional (although a View without a main component would be unusual). Views have a JRootPane, which is the root component for all of the Swing Window types as well as JApplet. Setting a View property, like menuBar or toolBar, just adds a component to the rootPane in a way that's defined by the View subclass. By default the View elements are arranged in a conventional way:
  • menuBar - becomes the rootPane's JMenuBar
  • toolBar - added to BorderLayout.NORTH of the rootPane's contentPane
  • component - added to BorderLayout.CENTER of the rootPane's contentPane
  • statusBar - added to BorderLayout.SOUTH of the rootPane's contentPane

To show or hide a View you call the corresponding Application methods. Here's a simple example:

 class MyApplication extends SingleFrameApplication {
     @ppOverride protected void startup() {
         View view = getMainView();
         view.setComponent(createMainComponent());
         view.setMenuBar(createMenuBar());
         show(view);
     }
 }
 

The advantage of Views over just configuring a JFrame or JApplet directly, is that a View is more easily moved to an alternative top level container, like a docking framework.

See Also: