- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
@JavaBean(defaultProperty="JMenuBar", description="A frame container which is contained within another window.") public class JInternalFrame extends JComponent implements Accessible, WindowConstants, RootPaneContainer
Generally,
you add JInternalFrame
s 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 convenience, the add
, remove
, and setLayout
methods of this class are overridden, so that they delegate calls
to the corresponding methods of the ContentPane
.
For example, you can add a child component to an internal frame as follows:
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 JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
- Since:
- 1.2
- See Also:
InternalFrameEvent
,JDesktopPane
,DesktopManager
,JInternalFrame.JDesktopIcon
,JRootPane
,RootPaneContainer
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
JInternalFrame.AccessibleJInternalFrame
This class implements accessibility support for theJInternalFrame
class.static class
JInternalFrame.JDesktopIcon
This component represents an iconified version of aJInternalFrame
.Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields Modifier and Type Field Description 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
TheJRootPane
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 toadd
andsetLayout
will be forwarded to thecontentPane
.protected String
title
The title displayed in this internal frame's title bar.static String
TITLE_PROPERTY
Bound property name.Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields declared in interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
Constructors Constructor Description JInternalFrame()
Creates a non-resizable, non-closable, non-maximizable, non-iconifiableJInternalFrame
with no title.JInternalFrame(String title)
Creates a non-resizable, non-closable, non-maximizable, non-iconifiableJInternalFrame
with the specified title.JInternalFrame(String title, boolean resizable)
Creates a non-closable, non-maximizable, non-iconifiableJInternalFrame
with the specified title and resizability.JInternalFrame(String title, boolean resizable, boolean closable)
Creates a non-maximizable, non-iconifiableJInternalFrame
with the specified title, resizability, and closability.JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable)
Creates a non-iconifiableJInternalFrame
with the specified title, resizability, closability, and maximizability.JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
Creates aJInternalFrame
with the specified title, resizability, closability, maximizability, and iconifiability. -
Method Summary
Modifier and Type Method Description protected void
addImpl(Component comp, Object constraints, int index)
Adds the specified childComponent
.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 theJRootPane
.void
dispose()
Makes this internal frame invisible, unselected, and closed.void
doDefaultCloseAction()
Fires anINTERNAL_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 theAccessibleContext
associated with thisJInternalFrame
.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 theJDesktopIcon
used when thisJInternalFrame
is iconified.JDesktopPane
getDesktopPane()
Convenience method that searches the ancestor hierarchy for aJDesktop
instance.Container
getFocusCycleRootAncestor()
Always returnsnull
becauseJInternalFrame
s must always be roots of a focus traversal cycle.Component
getFocusOwner()
If thisJInternalFrame
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 theInternalFrameListener
s added to thisJInternalFrame
withaddInternalFrameListener
.JMenuBar
getJMenuBar()
Returns the currentJMenuBar
for thisJInternalFrame
, ornull
if no menu bar has been set.Cursor
getLastCursor()
Returns the lastCursor
that was set by thesetCursor
method that is not a resizableCursor
.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 bygetJMenuBar()
.Component
getMostRecentFocusOwner()
Returns the child component of thisJInternalFrame
that will receive the focus when thisJInternalFrame
is selected.Rectangle
getNormalBounds()
If theJInternalFrame
is not in maximized state, returnsgetBounds()
; otherwise, returns the bounds that theJInternalFrame
would be restored to.JRootPane
getRootPane()
Returns therootPane
object for this internal frame.String
getTitle()
Returns the title of theJInternalFrame
.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.boolean
isClosable()
Returns whether thisJInternalFrame
can be closed by some user action.boolean
isClosed()
Returns whether thisJInternalFrame
is currently closed.boolean
isFocusCycleRoot()
Always returnstrue
because allJInternalFrame
s must be roots of a focus traversal cycle.boolean
isIcon()
Returns whether theJInternalFrame
is currently iconified.boolean
isIconifiable()
Gets theiconable
property, which by default isfalse
.boolean
isMaximizable()
Gets the value of themaximizable
property.boolean
isMaximum()
Returns whether theJInternalFrame
is currently maximized.boolean
isResizable()
Returns whether theJInternalFrame
can be resized by some user action.protected boolean
isRootPaneCheckingEnabled()
Returns whether calls toadd
andsetLayout
are forwarded to thecontentPane
.boolean
isSelected()
Returns whether theJInternalFrame
is the currently "selected" or active frame.void
moveToBack()
Convenience method that moves this component to position -1 if its parent is aJLayeredPane
.void
moveToFront()
Convenience method that moves this component to position 0 if its parent is aJLayeredPane
.void
pack()
Causes subcomponents of thisJInternalFrame
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 thisJInternalFrame
.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 thisJInternalFrame
can be closed by some user action.void
setClosed(boolean b)
Closes this internal frame if the argument istrue
.void
setContentPane(Container c)
Sets thisJInternalFrame
'scontentPane
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 theJDesktopIcon
associated with thisJInternalFrame
.void
setFocusCycleRoot(boolean focusCycleRoot)
Does nothing becauseJInternalFrame
s 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 thisJInternalFrame
'sglassPane
property.void
setIcon(boolean b)
Iconifies or de-iconifies this internal frame, if the look and feel supports iconification.void
setIconifiable(boolean b)
Sets theiconable
property, which must betrue
for the user to be able to make theJInternalFrame
an icon.void
setJMenuBar(JMenuBar m)
Sets themenuBar
property for thisJInternalFrame
.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 thisJInternalFrame
'slayeredPane
property.void
setLayout(LayoutManager manager)
Ensures that, by default, the layout of this component cannot be set.void
setMaximizable(boolean b)
Sets themaximizable
property, which determines whether theJInternalFrame
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 bysetJMenuBar(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 theJInternalFrame
can be resized by some user action.protected void
setRootPane(JRootPane root)
Sets therootPane
property for thisJInternalFrame
.protected void
setRootPaneCheckingEnabled(boolean enabled)
Sets whether calls toadd
andsetLayout
are forwarded to thecontentPane
.void
setSelected(boolean selected)
Selects or deselects the internal frame if it's showing.void
setTitle(String title)
Sets theJInternalFrame
title.void
setUI(InternalFrameUI ui)
Sets the UI delegate for thisJInternalFrame
.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 theUIManager
that the look and feel has changed.Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
Methods declared in class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
rootPane
TheJRootPane
instance that manages the content pane and optional menu bar for this internal frame, as well as the glass pane.- See Also:
JRootPane
,RootPaneContainer
-
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabledIf true then calls toadd
andsetLayout
will be forwarded to thecontentPane
. This is initially false, but is set to true when theJInternalFrame
is constructed. -
closable
protected boolean closableThe frame can be closed. -
isClosed
protected boolean isClosedThe frame has been closed. -
maximizable
protected boolean maximizableThe frame can be expanded to the size of the desktop pane. -
isMaximum
protected boolean isMaximumThe frame has been expanded to its maximum size.- See Also:
maximizable
-
iconable
protected boolean iconableThe frame can "iconified" (shrunk down and displayed as an icon-image). -
isIcon
protected boolean isIconThe frame has been iconified.- See Also:
isIcon()
-
resizable
protected boolean resizableThe frame's size can be changed. -
isSelected
protected boolean isSelectedThe frame is currently selected. -
frameIcon
The icon shown in the top-left corner of this internal frame. -
title
The title displayed in this internal frame's title bar. -
desktopIcon
The icon that is displayed when this internal frame is iconified.- See Also:
iconable
-
CONTENT_PANE_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
MENU_BAR_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
TITLE_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
LAYERED_PANE_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
ROOT_PANE_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
GLASS_PANE_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
FRAME_ICON_PROPERTY
Bound property name.- See Also:
- Constant Field Values
-
IS_SELECTED_PROPERTY
Constrained property name indicated that this frame has selected status.- See Also:
- Constant Field Values
-
IS_CLOSED_PROPERTY
Constrained property name indicating that the internal frame is closed.- See Also:
- Constant Field Values
-
IS_MAXIMUM_PROPERTY
Constrained property name indicating that the internal frame is maximized.- See Also:
- Constant Field Values
-
IS_ICON_PROPERTY
Constrained property name indicating that the internal frame is iconified.- See Also:
- Constant Field Values
-
-
Constructor Details
-
JInternalFrame
public JInternalFrame()Creates a non-resizable, non-closable, non-maximizable, non-iconifiableJInternalFrame
with no title. -
JInternalFrame
Creates a non-resizable, non-closable, non-maximizable, non-iconifiableJInternalFrame
with the specified title. Note that passing in anull
title
results in unspecified behavior and possibly an exception.- Parameters:
title
- the non-null
String
to display in the title bar
-
JInternalFrame
Creates a non-closable, non-maximizable, non-iconifiableJInternalFrame
with the specified title and resizability.- Parameters:
title
- theString
to display in the title barresizable
- iftrue
, the internal frame can be resized
-
JInternalFrame
Creates a non-maximizable, non-iconifiableJInternalFrame
with the specified title, resizability, and closability.- Parameters:
title
- theString
to display in the title barresizable
- iftrue
, the internal frame can be resizedclosable
- iftrue
, the internal frame can be closed
-
JInternalFrame
Creates a non-iconifiableJInternalFrame
with the specified title, resizability, closability, and maximizability.- Parameters:
title
- theString
to display in the title barresizable
- iftrue
, the internal frame can be resizedclosable
- iftrue
, the internal frame can be closedmaximizable
- iftrue
, the internal frame can be maximized
-
JInternalFrame
public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)Creates aJInternalFrame
with the specified title, resizability, closability, maximizability, and iconifiability. AllJInternalFrame
constructors use this one.- Parameters:
title
- theString
to display in the title barresizable
- iftrue
, the internal frame can be resizedclosable
- iftrue
, the internal frame can be closedmaximizable
- iftrue
, the internal frame can be maximizediconifiable
- iftrue
, the internal frame can be iconified
-
-
Method Details
-
createRootPane
Called by the constructor to set up theJRootPane
.- Returns:
- a new
JRootPane
- See Also:
JRootPane
-
getUI
Returns the look-and-feel object that renders this component.- Overrides:
getUI
in classJComponent
- Returns:
- the
InternalFrameUI
object that renders this component
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(InternalFrameUI ui)Sets the UI delegate for thisJInternalFrame
.- Parameters:
ui
- the UI delegate
-
updateUI
public void updateUI()Notification from theUIManager
that the look and feel has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classJComponent
- See Also:
JComponent.updateUI()
-
getUIClassID
Returns the name of the look-and-feel class that renders this component.- Overrides:
getUIClassID
in classJComponent
- Returns:
- the string "InternalFrameUI"
- See Also:
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
isRootPaneCheckingEnabled
protected boolean isRootPaneCheckingEnabled()Returns whether calls toadd
andsetLayout
are forwarded to thecontentPane
.- Returns:
- true if
add
andsetLayout
are forwarded; false otherwise - See Also:
addImpl(java.awt.Component, java.lang.Object, int)
,setLayout(java.awt.LayoutManager)
,setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
-
setRootPaneCheckingEnabled
@BeanProperty(hidden=true, description="Whether the add and setLayout methods are forwarded") protected void setRootPaneCheckingEnabled(boolean enabled)Sets whether calls toadd
andsetLayout
are forwarded to thecontentPane
.- Parameters:
enabled
- true ifadd
andsetLayout
are forwarded, false if they should operate directly on theJInternalFrame
.- See Also:
addImpl(java.awt.Component, java.lang.Object, int)
,setLayout(java.awt.LayoutManager)
,isRootPaneCheckingEnabled()
,RootPaneContainer
-
addImpl
Adds the specified childComponent
. This method is overridden to conditionally forward calls to thecontentPane
. By default, children are added to thecontentPane
instead of the frame, refer toRootPaneContainer
for details.- Overrides:
addImpl
in classContainer
- Parameters:
comp
- the component to be enhancedconstraints
- the constraints to be respectedindex
- the index- Throws:
IllegalArgumentException
- ifindex
is invalidIllegalArgumentException
- if adding the container's parent to itselfIllegalArgumentException
- if adding a window to a container- See Also:
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
-
remove
Removes the specified component from the container. Ifcomp
is not a child of theJInternalFrame
this will forward the call to thecontentPane
.- Overrides:
remove
in classContainer
- Parameters:
comp
- the component to be removed- Throws:
NullPointerException
- ifcomp
is null- See Also:
Container.add(java.awt.Component)
,RootPaneContainer
-
setLayout
Ensures that, by default, the layout of this component cannot be set. Overridden to conditionally forward the call to thecontentPane
. Refer toRootPaneContainer
for more information.- Overrides:
setLayout
in classContainer
- Parameters:
manager
- theLayoutManager
- See Also:
setRootPaneCheckingEnabled(boolean)
-
getMenuBar
Deprecated.As of Swing version 1.0.3, replaced bygetJMenuBar()
.Returns the currentJMenuBar
for thisJInternalFrame
, ornull
if no menu bar has been set.- Returns:
- the current menu bar, or
null
if none has been set
-
getJMenuBar
Returns the currentJMenuBar
for thisJInternalFrame
, ornull
if no menu bar has been set.- Returns:
- the
JMenuBar
used by this internal frame - See Also:
setJMenuBar(javax.swing.JMenuBar)
-
setMenuBar
Deprecated.As of Swing version 1.0.3 replaced bysetJMenuBar(JMenuBar m)
.Sets themenuBar
property for thisJInternalFrame
.- Parameters:
m
- theJMenuBar
to use in this internal frame- See Also:
getJMenuBar()
-
setJMenuBar
@BeanProperty(preferred=true, description="The menu bar for accessing pulldown menus from this internal frame.") public void setJMenuBar(JMenuBar m)Sets themenuBar
property for thisJInternalFrame
.- Parameters:
m
- theJMenuBar
to use in this internal frame- See Also:
getJMenuBar()
-
getContentPane
Returns the content pane for this internal frame.- Specified by:
getContentPane
in interfaceRootPaneContainer
- Returns:
- the content pane
- See Also:
RootPaneContainer.setContentPane(java.awt.Container)
-
setContentPane
@BeanProperty(hidden=true, description="The client area of the internal frame where child components are normally inserted.") public void setContentPane(Container c)Sets thisJInternalFrame
'scontentPane
property.- Specified by:
setContentPane
in interfaceRootPaneContainer
- Parameters:
c
- the content pane for this internal frame- Throws:
IllegalComponentStateException
- (a runtime exception) if the content pane parameter isnull
- See Also:
RootPaneContainer.getContentPane()
-
getLayeredPane
Returns the layered pane for this internal frame.- Specified by:
getLayeredPane
in interfaceRootPaneContainer
- Returns:
- a
JLayeredPane
object - See Also:
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
,RootPaneContainer.getLayeredPane()
-
setLayeredPane
@BeanProperty(hidden=true, description="The pane which holds the various desktop layers.") public void setLayeredPane(JLayeredPane layered)Sets thisJInternalFrame
'slayeredPane
property.- Specified by:
setLayeredPane
in interfaceRootPaneContainer
- Parameters:
layered
- theJLayeredPane
for this internal frame- Throws:
IllegalComponentStateException
- (a runtime exception) if the layered pane parameter isnull
- See Also:
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
-
getGlassPane
Returns the glass pane for this internal frame.- Specified by:
getGlassPane
in interfaceRootPaneContainer
- Returns:
- the glass pane
- See Also:
RootPaneContainer.setGlassPane(java.awt.Component)
-
setGlassPane
@BeanProperty(hidden=true, description="A transparent pane used for menu rendering.") public void setGlassPane(Component glass)Sets thisJInternalFrame
'sglassPane
property.- Specified by:
setGlassPane
in interfaceRootPaneContainer
- Parameters:
glass
- the glass pane for this internal frame- See Also:
RootPaneContainer.getGlassPane()
-
getRootPane
@BeanProperty(hidden=true, description="The root pane used by this internal frame.") public JRootPane getRootPane()Returns therootPane
object for this internal frame.- Specified by:
getRootPane
in interfaceRootPaneContainer
- Overrides:
getRootPane
in classJComponent
- Returns:
- the
rootPane
property - See Also:
RootPaneContainer.getRootPane()
-
setRootPane
Sets therootPane
property for thisJInternalFrame
. This method is called by the constructor.- Parameters:
root
- the newJRootPane
object
-
setClosable
@BeanProperty(preferred=true, description="Indicates whether this internal frame can be closed.") public void setClosable(boolean b)Sets whether thisJInternalFrame
can be closed by some user action.- Parameters:
b
- a boolean value, wheretrue
means this internal frame can be closed
-
isClosable
public boolean isClosable()Returns whether thisJInternalFrame
can be closed by some user action.- Returns:
true
if this internal frame can be closed
-
isClosed
public boolean isClosed()Returns whether thisJInternalFrame
is currently closed.- Returns:
true
if this internal frame is closed,false
otherwise
-
setClosed
@BeanProperty(description="Indicates whether this internal frame has been closed.") public void setClosed(boolean b) throws PropertyVetoExceptionCloses this internal frame if the argument istrue
. Do not invoke this method with afalse
argument; the result of invokingsetClosed(false)
is unspecified.If the internal frame is already closed, this method does nothing and returns immediately. Otherwise, this method begins by firing an
INTERNAL_FRAME_CLOSING
event. Then this method sets theclosed
property totrue
unless a listener vetoes the property change. This method finishes by making the internal frame invisible and unselected, and then firing anINTERNAL_FRAME_CLOSED
event.Note: To reuse an internal frame that has been closed, you must add it to a container (even if you never removed it from its previous container). Typically, this container will be the
JDesktopPane
that previously contained the internal frame.- Parameters:
b
- must betrue
- Throws:
PropertyVetoException
- when the attempt to set the property is vetoed by theJInternalFrame
- See Also:
isClosed()
,setDefaultCloseOperation(int)
,dispose()
,InternalFrameEvent.INTERNAL_FRAME_CLOSING
-
setResizable
@BeanProperty(preferred=true, description="Determines whether this internal frame can be resized by the user.") public void setResizable(boolean b)Sets whether theJInternalFrame
can be resized by some user action.- Parameters:
b
- a boolean, wheretrue
means this internal frame can be resized
-
isResizable
public boolean isResizable()Returns whether theJInternalFrame
can be resized by some user action.- Returns:
true
if this internal frame can be resized,false
otherwise
-
setIconifiable
@BeanProperty(preferred=true, description="Determines whether this internal frame can be iconified.") public void setIconifiable(boolean b)Sets theiconable
property, which must betrue
for the user to be able to make theJInternalFrame
an icon. Some look and feels might not implement iconification; they will ignore this property.- Parameters:
b
- a boolean, wheretrue
means this internal frame can be iconified
-
isIconifiable
public boolean isIconifiable()Gets theiconable
property, which by default isfalse
.- Returns:
- the value of the
iconable
property. - See Also:
setIconifiable(boolean)
-
isIcon
public boolean isIcon()Returns whether theJInternalFrame
is currently iconified.- Returns:
true
if this internal frame is iconified
-
setIcon
@BeanProperty(description="The image displayed when this internal frame is minimized.") public void setIcon(boolean b) throws PropertyVetoExceptionIconifies or de-iconifies this internal frame, if the look and feel supports iconification. If the internal frame's state changes to iconified, this method fires anINTERNAL_FRAME_ICONIFIED
event. If the state changes to de-iconified, anINTERNAL_FRAME_DEICONIFIED
event is fired.- Parameters:
b
- a boolean, wheretrue
means to iconify this internal frame andfalse
means to de-iconify it- Throws:
PropertyVetoException
- when the attempt to set the property is vetoed by theJInternalFrame
- See Also:
InternalFrameEvent.INTERNAL_FRAME_ICONIFIED
,InternalFrameEvent.INTERNAL_FRAME_DEICONIFIED
-
setMaximizable
@BeanProperty(preferred=true, description="Determines whether this internal frame can be maximized.") public void setMaximizable(boolean b)Sets themaximizable
property, which determines whether theJInternalFrame
can be maximized by some user action. Some look and feels might not support maximizing internal frames; they will ignore this property.- Parameters:
b
-true
to specify that this internal frame should be maximizable;false
to specify that it should not be
-
isMaximizable
public boolean isMaximizable()Gets the value of themaximizable
property.- Returns:
- the value of the
maximizable
property - See Also:
setMaximizable(boolean)
-
isMaximum
public boolean isMaximum()Returns whether theJInternalFrame
is currently maximized.- Returns:
true
if this internal frame is maximized,false
otherwise
-
setMaximum
@BeanProperty(description="Indicates whether this internal frame is maximized.") public void setMaximum(boolean b) throws PropertyVetoExceptionMaximizes and restores this internal frame. A maximized frame is resized to fully fit theJDesktopPane
area associated with theJInternalFrame
. A restored frame's size is set to theJInternalFrame
's actual size.- Parameters:
b
- a boolean, wheretrue
maximizes this internal frame andfalse
restores it- Throws:
PropertyVetoException
- when the attempt to set the property is vetoed by theJInternalFrame
-
getTitle
Returns the title of theJInternalFrame
.- Returns:
- a
String
containing this internal frame's title - See Also:
setTitle(java.lang.String)
-
setTitle
@BeanProperty(preferred=true, description="The text displayed in the title bar.") public void setTitle(String title)Sets theJInternalFrame
title.title
may have anull
value.- Parameters:
title
- theString
to display in the title bar- See Also:
getTitle()
-
setSelected
@BeanProperty(description="Indicates whether this internal frame is currently the active frame.") public void setSelected(boolean selected) throws PropertyVetoExceptionSelects or deselects the internal frame if it's showing. AJInternalFrame
normally draws its title bar differently if it is the selected frame, which indicates to the user that this internal frame has the focus. When this method changes the state of the internal frame from deselected to selected, it fires anInternalFrameEvent.INTERNAL_FRAME_ACTIVATED
event. If the change is from selected to deselected, anInternalFrameEvent.INTERNAL_FRAME_DEACTIVATED
event is fired.- Parameters:
selected
- a boolean, wheretrue
means this internal frame should become selected (currently active) andfalse
means it should become deselected- Throws:
PropertyVetoException
- when the attempt to set the property is vetoed by theJInternalFrame
- See Also:
Component.isShowing()
,InternalFrameEvent.INTERNAL_FRAME_ACTIVATED
,InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED
-
isSelected
public boolean isSelected()Returns whether theJInternalFrame
is the currently "selected" or active frame.- Returns:
true
if this internal frame is currently selected (active)- See Also:
setSelected(boolean)
-
setFrameIcon
@BeanProperty(description="The icon shown in the top-left corner of this internal frame.") public void setFrameIcon(Icon icon)Sets an image to be displayed in the titlebar of this internal frame (usually in the top-left corner). Some look and feels might not support displaying an icon in the titlebar. This image is not thedesktopIcon
object, which is the image displayed in theJDesktop
when this internal frame is iconified. Passingnull
to this function is valid, but the look and feel can choose the appropriate behavior for that situation, such as displaying no icon or a default icon for the look and feel.- Parameters:
icon
- theIcon
to display in the title bar- See Also:
getFrameIcon()
-
getFrameIcon
Returns the image displayed in the title bar of this internal frame (usually in the top-left corner).- Returns:
- the
Icon
displayed in the title bar - See Also:
setFrameIcon(javax.swing.Icon)
-
moveToFront
public void moveToFront()Convenience method that moves this component to position 0 if its parent is aJLayeredPane
. -
moveToBack
public void moveToBack()Convenience method that moves this component to position -1 if its parent is aJLayeredPane
. -
getLastCursor
Returns the lastCursor
that was set by thesetCursor
method that is not a resizableCursor
.- Returns:
- the last non-resizable
Cursor
- Since:
- 1.6
-
setCursor
Sets the cursor image to the specified cursor. This cursor image is displayed when thecontains
method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of aContainer
causes that cursor to be displayed within all of the container's subcomponents, except for those that have a non-null
cursor.The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.
- Overrides:
setCursor
in classComponent
- Parameters:
cursor
- One of the constants defined by theCursor
class; if this parameter isnull
then this component will inherit the cursor of its parent- Since:
- 1.6
- See Also:
Component.isEnabled()
,Component.isShowing()
,Component.getCursor()
,Component.contains(int, int)
,Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String)
,Cursor
-
setLayer
@BeanProperty(bound=false, expert=true, description="Specifies what desktop layer is used.") public void setLayer(Integer layer)Convenience method for setting the layer attribute of this component.- Parameters:
layer
- anInteger
object specifying this frame's desktop layer- Throws:
NullPointerException
- iflayer
isnull
- See Also:
JLayeredPane
-
setLayer
@BeanProperty(bound=false, expert=true, description="Specifies what desktop layer is used.") public void setLayer(int layer)Convenience method for setting the layer attribute of this component. The methodsetLayer(Integer)
should be used for layer values predefined inJLayeredPane
. When usingsetLayer(int)
, care must be taken not to accidentally clash with those values.- Parameters:
layer
- an integer specifying this internal frame's desktop layer- Since:
- 1.3
- See Also:
setLayer(Integer)
,JLayeredPane
-
getLayer
public int getLayer()Convenience method for getting the layer attribute of this component.- Returns:
- an
Integer
object specifying this frame's desktop layer - See Also:
JLayeredPane
-
getDesktopPane
Convenience method that searches the ancestor hierarchy for aJDesktop
instance. IfJInternalFrame
finds none, thedesktopIcon
tree is searched.- Returns:
- the
JDesktopPane
this internal frame belongs to, ornull
if none is found
-
setDesktopIcon
@BeanProperty(description="The icon shown when this internal frame is minimized.") public void setDesktopIcon(JInternalFrame.JDesktopIcon d)Sets theJDesktopIcon
associated with thisJInternalFrame
.- Parameters:
d
- theJDesktopIcon
to display on the desktop- See Also:
getDesktopIcon()
-
getDesktopIcon
Returns theJDesktopIcon
used when thisJInternalFrame
is iconified.- Returns:
- the
JDesktopIcon
displayed on the desktop - See Also:
setDesktopIcon(javax.swing.JInternalFrame.JDesktopIcon)
-
getNormalBounds
If theJInternalFrame
is not in maximized state, returnsgetBounds()
; otherwise, returns the bounds that theJInternalFrame
would be restored to.- Returns:
- a
Rectangle
containing the bounds of this frame when in the normal state - Since:
- 1.3
-
setNormalBounds
Sets the normal bounds for this internal frame, the bounds that this internal frame would be restored to from its maximized state. This method is intended for use only by desktop managers.- Parameters:
r
- the bounds that this internal frame should be restored to- Since:
- 1.3
-
getFocusOwner
If thisJInternalFrame
is active, returns the child that has focus. Otherwise, returnsnull
.- Returns:
- the component with focus, or
null
if no children have focus - Since:
- 1.3
-
getMostRecentFocusOwner
Returns the child component of thisJInternalFrame
that will receive the focus when thisJInternalFrame
is selected. If thisJInternalFrame
is currently selected, this method returns the same component as thegetFocusOwner
method. If thisJInternalFrame
is not selected, then the child component that most recently requested focus will be returned. If no child component has ever requested focus, then thisJInternalFrame
's initial focusable component is returned. If no such child exists, then thisJInternalFrame
's default component to focus is returned.- Returns:
- the child component that will receive focus when this
JInternalFrame
is selected - Since:
- 1.4
- See Also:
getFocusOwner()
,isSelected
-
restoreSubcomponentFocus
public void restoreSubcomponentFocus()Requests the internal frame to restore focus to the last subcomponent that had focus. This is used by the UI when the user selected this internal frame -- for example, by clicking on the title bar.- Since:
- 1.3
-
reshape
public void reshape(int x, int y, int width, int height)Moves and resizes this component. Unlike other components, this implementation also forces re-layout, so that frame decorations such as the title bar are always redisplayed.- Overrides:
reshape
in classJComponent
- Parameters:
x
- an integer giving the component's new horizontal position measured in pixels from the left of its containery
- an integer giving the component's new vertical position, measured in pixels from the bottom of its containerwidth
- an integer giving the component's new width in pixelsheight
- an integer giving the component's new height in pixels- See Also:
Component.setBounds(int, int, int, int)
-
addInternalFrameListener
Adds the specified listener to receive internal frame events from this internal frame.- Parameters:
l
- the internal frame listener
-
removeInternalFrameListener
Removes the specified internal frame listener so that it no longer receives internal frame events from this internal frame.- Parameters:
l
- the internal frame listener
-
getInternalFrameListeners
Returns an array of all theInternalFrameListener
s added to thisJInternalFrame
withaddInternalFrameListener
.- Returns:
- all of the
InternalFrameListener
s added or an empty array if no listeners have been added - Since:
- 1.4
- See Also:
addInternalFrameListener(javax.swing.event.InternalFrameListener)
-
fireInternalFrameEvent
protected void fireInternalFrameEvent(int id)Fires an internal frame event.- Parameters:
id
- the type of the event being fired; one of the following:InternalFrameEvent.INTERNAL_FRAME_OPENED
InternalFrameEvent.INTERNAL_FRAME_CLOSING
InternalFrameEvent.INTERNAL_FRAME_CLOSED
InternalFrameEvent.INTERNAL_FRAME_ICONIFIED
InternalFrameEvent.INTERNAL_FRAME_DEICONIFIED
InternalFrameEvent.INTERNAL_FRAME_ACTIVATED
InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED
-
doDefaultCloseAction
public void doDefaultCloseAction()Fires anINTERNAL_FRAME_CLOSING
event and then performs the action specified by the internal frame's default close operation. This method is typically invoked by the look-and-feel-implemented action handler for the internal frame's close button.- Since:
- 1.3
- See Also:
setDefaultCloseOperation(int)
,InternalFrameEvent.INTERNAL_FRAME_CLOSING
-
setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)Sets the operation that will happen by default when the user initiates a "close" on this internal frame. The possible choices are:
DO_NOTHING_ON_CLOSE
- Do nothing.
This requires the program to handle the operation
in the
internalFrameClosing
method of a registeredInternalFrameListener
object. HIDE_ON_CLOSE
- Automatically make the internal frame invisible.
DISPOSE_ON_CLOSE
- Automatically dispose of the internal frame.
The default value is
DISPOSE_ON_CLOSE
. Before performing the specified close operation, the internal frame fires anINTERNAL_FRAME_CLOSING
event.- Parameters:
operation
- one of the following constants defined injavax.swing.WindowConstants
(an interface implemented byJInternalFrame
):DO_NOTHING_ON_CLOSE
,HIDE_ON_CLOSE
, orDISPOSE_ON_CLOSE
- See Also:
addInternalFrameListener(javax.swing.event.InternalFrameListener)
,getDefaultCloseOperation()
,JComponent.setVisible(boolean)
,dispose()
,InternalFrameEvent.INTERNAL_FRAME_CLOSING
-
getDefaultCloseOperation
public int getDefaultCloseOperation()Returns the default operation that occurs when the user initiates a "close" on this internal frame.- Returns:
- the operation that will occur when the user closes the internal frame
- See Also:
setDefaultCloseOperation(int)
-
pack
public void pack()Causes subcomponents of thisJInternalFrame
to be laid out at their preferred size. Internal frames that are iconized or maximized are first restored and then packed. If the internal frame is unable to be restored its state is not changed and will not be packed.- See Also:
Window.pack()
-
show
public void show()If the internal frame is not visible, brings the internal frame to the front, makes it visible, and attempts to select it. The first time the internal frame is made visible, this method also fires anINTERNAL_FRAME_OPENED
event. This method does nothing if the internal frame is already visible. Invoking this method has the same result as invokingsetVisible(true)
.- Overrides:
show
in classComponent
- See Also:
moveToFront()
,setSelected(boolean)
,InternalFrameEvent.INTERNAL_FRAME_OPENED
,JComponent.setVisible(boolean)
-
dispose
public void dispose()Makes this internal frame invisible, unselected, and closed. If the frame is not already closed, this method fires anINTERNAL_FRAME_CLOSED
event. The results of invoking this method are similar tosetClosed(true)
, butdispose
always succeeds in closing the internal frame and does not fire anINTERNAL_FRAME_CLOSING
event. -
toFront
public void toFront()Brings this internal frame to the front. Places this internal frame at the top of the stacking order and makes the corresponding adjustment to other visible internal frames.- See Also:
Window.toFront()
,moveToFront()
-
toBack
public void toBack()Sends this internal frame to the back. Places this internal frame at the bottom of the stacking order and makes the corresponding adjustment to other visible internal frames.- See Also:
Window.toBack()
,moveToBack()
-
setFocusCycleRoot
public final void setFocusCycleRoot(boolean focusCycleRoot)Does nothing becauseJInternalFrame
s must always be roots of a focus traversal cycle.- Overrides:
setFocusCycleRoot
in classContainer
- Parameters:
focusCycleRoot
- this value is ignored- Since:
- 1.4
- See Also:
isFocusCycleRoot()
,Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,Container.getFocusTraversalPolicy()
-
isFocusCycleRoot
public final boolean isFocusCycleRoot()Always returnstrue
because allJInternalFrame
s must be roots of a focus traversal cycle.- Overrides:
isFocusCycleRoot
in classContainer
- Returns:
true
- Since:
- 1.4
- See Also:
setFocusCycleRoot(boolean)
,Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,Container.getFocusTraversalPolicy()
-
getFocusCycleRootAncestor
Always returnsnull
becauseJInternalFrame
s must always be roots of a focus traversal cycle.- Overrides:
getFocusCycleRootAncestor
in classComponent
- Returns:
null
- Since:
- 1.4
- See Also:
Container.isFocusCycleRoot()
-
getWarningString
Gets the warning string that is displayed with this internal frame. Since an internal frame is always secure (since it's fully contained within a window that might need a warning string) this method always returnsnull
.- Returns:
null
- See Also:
Window.getWarningString()
-
paramString
Returns a string representation of thisJInternalFrame
. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.- Overrides:
paramString
in classJComponent
- Returns:
- a string representation of this
JInternalFrame
-
paintComponent
Overridden to allow optimized painting when the internal frame is being dragged.- Overrides:
paintComponent
in classJComponent
- Parameters:
g
- theGraphics
object to protect- See Also:
JComponent.paint(java.awt.Graphics)
,ComponentUI
-
getAccessibleContext
Gets theAccessibleContext
associated with thisJInternalFrame
. For internal frames, theAccessibleContext
takes the form of anAccessibleJInternalFrame
object. A newAccessibleJInternalFrame
instance is created if necessary.- Specified by:
getAccessibleContext
in interfaceAccessible
- Overrides:
getAccessibleContext
in classComponent
- Returns:
- an
AccessibleJInternalFrame
that serves as theAccessibleContext
of thisJInternalFrame
- See Also:
JInternalFrame.AccessibleJInternalFrame
-