Package org.jdesktop.application
Class View
java.lang.Object
org.jdesktop.application.AbstractBean
org.jdesktop.application.View
- Direct Known Subclasses:
FrameView
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 toBorderLayout.NORTH
of the rootPane's contentPane -
component
- added toBorderLayout.CENTER
of the rootPane's contentPane -
statusBar
- added toBorderLayout.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:
-
Constructor Summary
ConstructorsConstructorDescriptionView
(Application application) Construct an empty View object for the specified Application. -
Method Summary
Modifier and TypeMethodDescriptionfinal Application
TheApplication
that's responsible for showing/hiding this View.The main {JComponent} for this View.final ApplicationContext
TheApplicationContext
for theApplication
that's responsible for showing/hiding this View.The main {JMenuBar} for this View.TheResourceMap
for this View.TheJRootPane
for this View.final JToolBar
void
setComponent
(JComponent component) Set the single main Component for this View.void
setMenuBar
(JMenuBar menuBar) void
setStatusBar
(JComponent statusBar) final void
setToolBar
(JToolBar toolBar) void
setToolBars
(List<JToolBar> toolBars) Methods inherited from class org.jdesktop.application.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
View
Construct an empty View object for the specified Application.- Parameters:
application
- the Application responsible for showing/hiding this View- See Also:
-
-
Method Details
-
getApplication
TheApplication
that's responsible for showing/hiding this View.- Returns:
- the Application that owns this View
- See Also:
-
getContext
TheApplicationContext
for theApplication
that's responsible for showing/hiding this View. This method is just shorthand forgetApplication().getContext()
.- Returns:
- the Application that owns this View
- See Also:
-
getResourceMap
TheResourceMap
for this View. This method is just shorthand forgetContext().getResourceMap(getClass(), View.class)
.- Returns:
- The
ResourceMap
for this View - See Also:
-
getRootPane
TheJRootPane
for this View. All of the components for this View must be added to its rootPane. Most applications will do so by setting the View'scomponent
,menuBar
,toolBar
, andstatusBar
properties.- Returns:
- The
rootPane
for this View - See Also:
-
getComponent
The main {JComponent} for this View.- Returns:
- The
component
for this View - See Also:
-
setComponent
Set the single main Component for this View. It's added to theBorderLayout.CENTER
of the rootPane's contentPane. If the component property was already set, the old component is removed first.This is a bound property. The default value is null.
- Parameters:
component
- Thecomponent
for this View- See Also:
-
getMenuBar
The main {JMenuBar} for this View.- Returns:
- The
menuBar
for this View - See Also:
-
setMenuBar
-
getToolBars
-
setToolBars
-
getToolBar
-
setToolBar
-
getStatusBar
-
setStatusBar
-