|
Java™ Platform Standard Ed. 7 DRAFT ea-b34 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
public class JInternalFrame
A lightweight object that provides many of the features of a native frame, including dragging, closing, becoming an icon, resizing, title display, and support for a menu bar. For task-oriented documentation and examples of using internal frames, see How to Use Internal Frames, a section in The Java Tutorial.
Generally,
you add JInternalFrames to a JDesktopPane. The UI
delegates the look-and-feel-specific actions to the
DesktopManager
object maintained by the JDesktopPane.
The JInternalFrame content pane
is where you add child components.
As a conveniance add and its variants, remove and
setLayout have been overridden to forward to the
contentPane as necessary. This means you can write:
internalFrame.add(child);
And the child will be added to the contentPane.
The content pane is actually managed by an instance of
JRootPane,
which also manages a layout pane, glass pane, and
optional menu bar for the internal frame. Please see the
JRootPane
documentation for a complete description of these components.
Refer to RootPaneContainer
for details on adding, removing and setting the LayoutManager
of a JInternalFrame.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
InternalFrameEvent,
JDesktopPane,
DesktopManager,
JInternalFrame.JDesktopIcon,
JRootPane,
RootPaneContainer| Nested Class Summary | |
|---|---|
protected class |
JInternalFrame.AccessibleJInternalFrame
This class implements accessibility support for the JInternalFrame class. |
static class |
JInternalFrame.JDesktopIcon
This component represents an iconified version of a JInternalFrame. |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| Field Summary | |
|---|---|
protected boolean |
closable
The frame can be closed. |
static String |
CONTENT_PANE_PROPERTY
Bound property name. |
protected JInternalFrame.JDesktopIcon |
desktopIcon
The icon that is displayed when this internal frame is iconified. |
static String |
FRAME_ICON_PROPERTY
Bound property name. |
protected Icon |
frameIcon
The icon shown in the top-left corner of this internal frame. |
static String |
GLASS_PANE_PROPERTY
Bound property name. |
protected boolean |
iconable
The frame can "iconified" (shrunk down and displayed as an icon-image). |
static String |
IS_CLOSED_PROPERTY
Constrained property name indicating that the internal frame is closed. |
static String |
IS_ICON_PROPERTY
Constrained property name indicating that the internal frame is iconified. |
static String |
IS_MAXIMUM_PROPERTY
Constrained property name indicating that the internal frame is maximized. |
static String |
IS_SELECTED_PROPERTY
Constrained property name indicated that this frame has selected status. |
protected boolean |
isClosed
The frame has been closed. |
protected boolean |
isIcon
The frame has been iconified. |
protected boolean |
isMaximum
The frame has been expanded to its maximum size. |
protected boolean |
isSelected
The frame is currently selected. |
static String |
LAYERED_PANE_PROPERTY
Bound property name. |
protected boolean |
maximizable
The frame can be expanded to the size of the desktop pane. |
static String |
MENU_BAR_PROPERTY
Bound property name. |
protected boolean |
resizable
The frame's size can be changed. |
static String |
ROOT_PANE_PROPERTY
Bound property name. |
protected JRootPane |
rootPane
The JRootPane instance that manages the
content pane
and optional menu bar for this internal frame, as well as the
glass pane. |
protected boolean |
rootPaneCheckingEnabled
If true then calls to add and setLayout
will be forwarded to the contentPane. |
protected String |
title
The title displayed in this internal frame's title bar. |
static String |
TITLE_PROPERTY
Bound property name. |
| Fields inherited from class javax.swing.JComponent |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Component |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface javax.swing.WindowConstants |
|---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
JInternalFrame()
Creates a non-resizable, non-closable, non-maximizable, non-iconifiable JInternalFrame with no title. |
|
JInternalFrame(String title)
Creates a non-resizable, non-closable, non-maximizable, non-iconifiable JInternalFrame with the specified title. |
|
JInternalFrame(String title,
boolean resizable)
Creates a non-closable, non-maximizable, non-iconifiable JInternalFrame with the specified title
and resizability. |
|
JInternalFrame(String title,
boolean resizable,
boolean closable)
Creates a non-maximizable, non-iconifiable JInternalFrame
with the specified title, resizability, and
closability. |
|
JInternalFrame(String title,
boolean resizable,
boolean closable,
boolean maximizable)
Creates a non-iconifiable JInternalFrame
with the specified title,
resizability, closability, and maximizability. |
|
JInternalFrame(String title,
boolean resizable,
boolean closable,
boolean maximizable,
boolean iconifiable)
Creates a JInternalFrame with the specified title,
resizability, closability, maximizability, and iconifiability. |
|
| Method Summary | |
|---|---|
protected void |
addImpl(Component comp,
Object constraints,
int index)
Adds the specified child Component. |
void |
addInternalFrameListener(InternalFrameListener l)
Adds the specified listener to receive internal frame events from this internal frame. |
protected JRootPane |
createRootPane()
Called by the constructor to set up the JRootPane. |
void |
dispose()
Makes this internal frame invisible, unselected, and closed. |
void |
doDefaultCloseAction()
Fires an INTERNAL_FRAME_CLOSING event
and then performs the action specified by
the internal frame's default close operation. |
protected void |
fireInternalFrameEvent(int id)
Fires an internal frame event. |
AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this
JInternalFrame. |
Container |
getContentPane()
Returns the content pane for this internal frame. |
int |
getDefaultCloseOperation()
Returns the default operation that occurs when the user initiates a "close" on this internal frame. |
JInternalFrame.JDesktopIcon |
getDesktopIcon()
Returns the JDesktopIcon used when this
JInternalFrame is iconified. |
JDesktopPane |
getDesktopPane()
Convenience method that searches the ancestor hierarchy for a JDesktop instance. |
Container |
getFocusCycleRootAncestor()
Always returns null because JInternalFrames
must always be roots of a focus
traversal cycle. |
Component |
getFocusOwner()
If this JInternalFrame is active,
returns the child that has focus. |
Icon |
getFrameIcon()
Returns the image displayed in the title bar of this internal frame (usually in the top-left corner). |
Component |
getGlassPane()
Returns the glass pane for this internal frame. |
InternalFrameListener[] |
getInternalFrameListeners()
Returns an array of all the InternalFrameListeners added
to this JInternalFrame with
addInternalFrameListener. |
JMenuBar |
getJMenuBar()
Returns the current JMenuBar for this
JInternalFrame, or null
if no menu bar has been set. |
Cursor |
getLastCursor()
Returns the last Cursor that was set by the
setCursor method that is not a resizable
Cursor. |
int |
getLayer()
Convenience method for getting the layer attribute of this component. |
JLayeredPane |
getLayeredPane()
Returns the layered pane for this internal frame. |
JMenuBar |
getMenuBar()
Deprecated. As of Swing version 1.0.3, replaced by getJMenuBar(). |
Component |
getMostRecentFocusOwner()
Returns the child component of this JInternalFrame
that will receive the
focus when this JInternalFrame is selected. |
Rectangle |
getNormalBounds()
If the JInternalFrame is not in maximized state, returns
getBounds(); otherwise, returns the bounds that the
JInternalFrame would be restored to. |
JRootPane |
getRootPane()
Returns the rootPane object for this internal frame. |
String |
getTitle()
Returns the title of the JInternalFrame. |
InternalFrameUI |
getUI()
Returns the look-and-feel object that renders this component. |
String |
getUIClassID()
Returns the name of the look-and-feel class that renders this component. |
String |
getWarningString()
Gets the warning string that is displayed with this internal frame. |
void |
hide()
|
boolean |
isClosable()
Returns whether this JInternalFrame can be closed by
some user action. |
boolean |
isClosed()
Returns whether this JInternalFrame is currently closed. |
boolean |
isFocusCycleRoot()
Always returns true because all JInternalFrames must be
roots of a focus traversal cycle. |
boolean |
isIcon()
Returns whether the JInternalFrame is currently iconified. |
boolean |
isIconifiable()
Gets the iconable property,
which by default is false. |
boolean |
isMaximizable()
Gets the value of the maximizable property. |
boolean |
isMaximum()
Returns whether the JInternalFrame is currently maximized. |
boolean |
isResizable()
Returns whether the JInternalFrame can be resized
by some user action. |
protected boolean |
isRootPaneCheckingEnabled()
Returns whether calls to add and
setLayout are forwarded to the contentPane. |
boolean |
isSelected()
Returns whether the JInternalFrame is the
currently "selected" or active frame. |
void |
moveToBack()
Convenience method that moves this component to position -1 if its parent is a JLayeredPane. |
void |
moveToFront()
Convenience method that moves this component to position 0 if its parent is a JLayeredPane. |
void |
pack()
Causes subcomponents of this JInternalFrame
to be laid out at their preferred size. |
protected void |
paintComponent(Graphics g)
Overridden to allow optimized painting when the internal frame is being dragged. |
protected String |
paramString()
Returns a string representation of this JInternalFrame. |
void |
remove(Component comp)
Removes the specified component from the container. |
void |
removeInternalFrameListener(InternalFrameListener l)
Removes the specified internal frame listener so that it no longer receives internal frame events from this internal frame. |
void |
reshape(int x,
int y,
int width,
int height)
Moves and resizes this component. |
void |
restoreSubcomponentFocus()
Requests the internal frame to restore focus to the last subcomponent that had focus. |
void |
setClosable(boolean b)
Sets whether this JInternalFrame can be closed by
some user action. |
void |
setClosed(boolean b)
Closes this internal frame if the argument is true. |
void |
setContentPane(Container c)
Sets this JInternalFrame's contentPane
property. |
void |
setCursor(Cursor cursor)
Sets the cursor image to the specified cursor. |
void |
setDefaultCloseOperation(int operation)
Sets the operation that will happen by default when the user initiates a "close" on this internal frame. |
void |
setDesktopIcon(JInternalFrame.JDesktopIcon d)
Sets the JDesktopIcon associated with this
JInternalFrame. |
void |
setFocusCycleRoot(boolean focusCycleRoot)
Does nothing because JInternalFrames must always be roots of a focus
traversal cycle. |
void |
setFrameIcon(Icon icon)
Sets an image to be displayed in the titlebar of this internal frame (usually in the top-left corner). |
void |
setGlassPane(Component glass)
Sets this JInternalFrame's
glassPane property. |
void |
setIcon(boolean b)
Iconifies or de-iconifies this internal frame, if the look and feel supports iconification. |
void |
setIconifiable(boolean b)
Sets the iconable property,
which must be true
for the user to be able to
make the JInternalFrame an icon. |
void |
setJMenuBar(JMenuBar m)
Sets the menuBar property for this JInternalFrame. |
void |
setLayer(int layer)
Convenience method for setting the layer attribute of this component. |
void |
setLayer(Integer layer)
Convenience method for setting the layer attribute of this component. |
void |
setLayeredPane(JLayeredPane layered)
Sets this JInternalFrame's
layeredPane property. |
void |
setLayout(LayoutManager manager)
Ensures that, by default, the layout of this component cannot be set. |
void |
setMaximizable(boolean b)
Sets the maximizable property,
which determines whether the JInternalFrame
can be maximized by
some user action. |
void |
setMaximum(boolean b)
Maximizes and restores this internal frame. |
void |
setMenuBar(JMenuBar m)
Deprecated. As of Swing version 1.0.3 replaced by setJMenuBar(JMenuBar m). |
void |
setNormalBounds(Rectangle r)
Sets the normal bounds for this internal frame, the bounds that this internal frame would be restored to from its maximized state. |
void |
setResizable(boolean b)
Sets whether the JInternalFrame can be resized by some
user action. |
protected void |
setRootPane(JRootPane root)
Sets the rootPane property
for this JInternalFrame. |
protected void |
setRootPaneCheckingEnabled(boolean enabled)
Sets whether calls to add and
setLayout are forwarded to the contentPane. |
void |
setSelected(boolean selected)
Selects or deselects the internal frame if it's showing. |
void |
setTitle(String title)
Sets the JInternalFrame title. |
void |
setUI(InternalFrameUI ui)
Sets the UI delegate for this JInternalFrame. |
void |
show()
If the internal frame is not visible, brings the internal frame to the front, makes it visible, and attempts to select it. |
void |
toBack()
Sends this internal frame to the back. |
void |
toFront()
Brings this internal frame to the front. |
void |
updateUI()
Notification from the UIManager that the look and feel
has changed. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected JRootPane rootPane
JRootPane instance that manages the
content pane
and optional menu bar for this internal frame, as well as the
glass pane.
JRootPane,
RootPaneContainerprotected boolean rootPaneCheckingEnabled
add and setLayout
will be forwarded to the contentPane. This is initially
false, but is set to true when the JInternalFrame is
constructed.
isRootPaneCheckingEnabled(),
setRootPaneCheckingEnabled(boolean),
RootPaneContainerprotected boolean closable
protected boolean isClosed
protected boolean maximizable
protected boolean isMaximum
maximizableprotected boolean iconable
JInternalFrame.JDesktopIcon,
setIconifiable(boolean)protected boolean isIcon
isIcon()protected boolean resizable
protected boolean isSelected
protected Icon frameIcon
protected String title
protected JInternalFrame.JDesktopIcon desktopIcon
iconablepublic static final String CONTENT_PANE_PROPERTY
public static final String MENU_BAR_PROPERTY
public static final String TITLE_PROPERTY
public static final String LAYERED_PANE_PROPERTY
public static final String ROOT_PANE_PROPERTY
public static final String GLASS_PANE_PROPERTY
public static final String FRAME_ICON_PROPERTY
public static final String IS_SELECTED_PROPERTY
public static final String IS_CLOSED_PROPERTY
public static final String IS_MAXIMUM_PROPERTY
public static final String IS_ICON_PROPERTY
| Constructor Detail |
|---|
public JInternalFrame()
JInternalFrame with no title.
public JInternalFrame(String title)
JInternalFrame with the specified title.
Note that passing in a null title results in
unspecified behavior and possibly an exception.
title - the non-null String
to display in the title bar
public JInternalFrame(String title,
boolean resizable)
JInternalFrame with the specified title
and resizability.
title - the String to display in the title barresizable - if true, the internal frame can be resized
public JInternalFrame(String title,
boolean resizable,
boolean closable)
JInternalFrame
with the specified title, resizability, and
closability.
title - the String to display in the title barresizable - if true, the internal frame can be resizedclosable - if true, the internal frame can be closed
public JInternalFrame(String title,
boolean resizable,
boolean closable,
boolean maximizable)
JInternalFrame
with the specified title,
resizability, closability, and maximizability.
title - the String to display in the title barresizable - if true, the internal frame can be resizedclosable - if true, the internal frame can be closedmaximizable - if true, the internal frame can be maximized
public JInternalFrame(String title,
boolean resizable,
boolean closable,
boolean maximizable,
boolean iconifiable)
JInternalFrame with the specified title,
resizability, closability, maximizability, and iconifiability.
All JInternalFrame constructors use this one.
title - the String to display in the title barresizable - if true, the internal frame can be resizedclosable - if true, the internal frame can be closedmaximizable - if true, the internal frame can be maximizediconifiable - if true, the internal frame can be iconified| Method Detail |
|---|
protected JRootPane createRootPane()
JRootPane.
JRootPaneJRootPanepublic InternalFrameUI getUI()
InternalFrameUI object that renders
this componentpublic void setUI(InternalFrameUI ui)
JInternalFrame.
ui - the UI delegatepublic void updateUI()
UIManager that the look and feel
has changed.
Replaces the current UI object with the latest version from the
UIManager.
updateUI in class JComponentJComponent.updateUI()public String getUIClassID()
getUIClassID in class JComponentJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)protected boolean isRootPaneCheckingEnabled()
add and
setLayout are forwarded to the contentPane.
add and setLayout
are fowarded; false otherwiseaddImpl(java.awt.Component, java.lang.Object, int),
setLayout(java.awt.LayoutManager),
setRootPaneCheckingEnabled(boolean),
RootPaneContainerprotected void setRootPaneCheckingEnabled(boolean enabled)
add and
setLayout are forwarded to the contentPane.
enabled - true if add and setLayout
are forwarded, false if they should operate directly on the
JInternalFrame.addImpl(java.awt.Component, java.lang.Object, int),
setLayout(java.awt.LayoutManager),
isRootPaneCheckingEnabled(),
RootPaneContainer
protected void addImpl(Component comp,
Object constraints,
int index)
Component.
This method is overridden to conditionally forward calls to the
contentPane.
By default, children are added to the contentPane instead
of the frame, refer to RootPaneContainer for
details.
addImpl in class Containercomp - the component to be enhancedconstraints - the constraints to be respectedindex - the index
IllegalArgumentException - if index is invalid
IllegalArgumentException - if adding the container's parent
to itself
IllegalArgumentException - if adding a window to a containersetRootPaneCheckingEnabled(boolean),
RootPaneContainerpublic void remove(Component comp)
comp is not a child of the JInternalFrame
this will forward the call to the contentPane.
remove in class Containercomp - the component to be removed
NullPointerException - if comp is nullContainer.add(java.awt.Component),
RootPaneContainerpublic void setLayout(LayoutManager manager)
contentPane.
Refer to RootPaneContainer for
more information.
setLayout in class Containermanager - the LayoutManagersetRootPaneCheckingEnabled(boolean)@Deprecated public JMenuBar getMenuBar()
getJMenuBar().
JMenuBar for this
JInternalFrame, or null
if no menu bar has been set.
null if none has been setpublic JMenuBar getJMenuBar()
JMenuBar for this
JInternalFrame, or null
if no menu bar has been set.
JMenuBar used by this internal framesetJMenuBar(javax.swing.JMenuBar)@Deprecated public void setMenuBar(JMenuBar m)
setJMenuBar(JMenuBar m).
menuBar property for this JInternalFrame.
m - the JMenuBar to use in this internal framegetJMenuBar()public void setJMenuBar(JMenuBar m)
menuBar property for this JInternalFrame.
m - the JMenuBar to use in this internal framegetJMenuBar()