public class View extends AbstractBean
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.
JRootPane,
Application.show(View),
Application.hide(View)| Constructor and Description |
|---|
View(Application application)
Construct an empty View object for the specified Application.
|
| Modifier and Type | Method and Description |
|---|---|
Application |
getApplication()
The
Application that's responsible for showing/hiding this View. |
javax.swing.JComponent |
getComponent()
The main {JComponent} for this View.
|
ApplicationContext |
getContext()
The
ApplicationContext for the Application that's responsible for showing/hiding this View. |
javax.swing.JMenuBar |
getMenuBar()
The main {JMenuBar} for this View.
|
ResourceMap |
getResourceMap()
The
ResourceMap for this View. |
javax.swing.JRootPane |
getRootPane()
The
JRootPane for this View. |
javax.swing.JComponent |
getStatusBar() |
javax.swing.JToolBar |
getToolBar() |
java.util.List<javax.swing.JToolBar> |
getToolBars() |
void |
setComponent(javax.swing.JComponent component)
Set the single main Component for this View.
|
void |
setMenuBar(javax.swing.JMenuBar menuBar) |
void |
setStatusBar(javax.swing.JComponent statusBar) |
void |
setToolBar(javax.swing.JToolBar toolBar) |
void |
setToolBars(java.util.List<javax.swing.JToolBar> toolBars) |
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerpublic View(Application application)
application - the Application responsible for showing/hiding this ViewApplication.show(View),
Application.hide(View)public final Application getApplication()
Application that's responsible for showing/hiding this View.getContext(),
Application.show(View),
Application.hide(View)public final ApplicationContext getContext()
ApplicationContext for the Application that's responsible for showing/hiding this View.
This method is just shorthand for getApplication().getContext().getApplication(),
Application.show(View),
Application.hide(View)public ResourceMap getResourceMap()
ResourceMap for this View.
This method is just shorthand for getContext().getResourceMap(getClass(), View.class).ResourceMap for this ViewgetContext()public javax.swing.JRootPane getRootPane()
JRootPane 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's component, menuBar, toolBar,
and statusBar properties.rootPane for this ViewsetComponent(javax.swing.JComponent),
setMenuBar(javax.swing.JMenuBar),
setToolBar(javax.swing.JToolBar),
setStatusBar(javax.swing.JComponent)public javax.swing.JComponent getComponent()
component for this ViewsetComponent(javax.swing.JComponent)public void setComponent(javax.swing.JComponent component)
BorderLayout.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.
component - The component for this ViewgetComponent()public javax.swing.JMenuBar getMenuBar()
menuBar for this ViewsetMenuBar(javax.swing.JMenuBar)public void setMenuBar(javax.swing.JMenuBar menuBar)
public java.util.List<javax.swing.JToolBar> getToolBars()
public void setToolBars(java.util.List<javax.swing.JToolBar> toolBars)
public final javax.swing.JToolBar getToolBar()
public final void setToolBar(javax.swing.JToolBar toolBar)
public javax.swing.JComponent getStatusBar()
public void setStatusBar(javax.swing.JComponent statusBar)