JInternalFrame
Class JInternalFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JInternalFrame
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
public class JInternalFrame extends JComponent implements Accessible, WindowConstants, RootPaneContainer
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 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
.
- See Also:
-
InternalFrameEvent
,JDesktopPane
,DesktopManager
,JInternalFrame.JDesktopIcon
,JRootPane
,RootPaneContainer
Nested Classes
Modifier and Type | Class and Description |
---|---|
protected class |
JInternalFrame.AccessibleJInternalFrame This class implements accessibility support for the |
static class |
JInternalFrame.JDesktopIcon This component represents an iconified version of a |
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
Fields
rootPane
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.
- See Also:
-
JRootPane
,RootPaneContainer
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabled
If true then calls to add
and setLayout
will be forwarded to the contentPane
. This is initially false, but is set to true when the JInternalFrame
is constructed.
closable
protected boolean closable
The frame can be closed.
isClosed
protected boolean isClosed
The frame has been closed.
maximizable
protected boolean maximizable
The frame can be expanded to the size of the desktop pane.
isMaximum
protected boolean isMaximum
The frame has been expanded to its maximum size.
- See Also:
maximizable
iconable
protected boolean iconable
The frame can "iconified" (shrunk down and displayed as an icon-image).
isIcon
protected boolean isIcon
The frame has been iconified.
- See Also:
isIcon()
resizable
protected boolean resizable
The frame's size can be changed.
isSelected
protected boolean isSelected
The frame is currently selected.
frameIcon
protected Icon frameIcon
The icon shown in the top-left corner of this internal frame.
title
protected String title
The title displayed in this internal frame's title bar.
desktopIcon
protected JInternalFrame.JDesktopIcon desktopIcon
The icon that is displayed when this internal frame is iconified.
- See Also:
iconable
CONTENT_PANE_PROPERTY
public static final String CONTENT_PANE_PROPERTY
Bound property name.
MENU_BAR_PROPERTY
public static final String MENU_BAR_PROPERTY
Bound property name.
TITLE_PROPERTY
public static final String TITLE_PROPERTY
Bound property name.
LAYERED_PANE_PROPERTY
public static final String LAYERED_PANE_PROPERTY
Bound property name.
ROOT_PANE_PROPERTY
public static final String ROOT_PANE_PROPERTY
Bound property name.
GLASS_PANE_PROPERTY
public static final String GLASS_PANE_PROPERTY
Bound property name.
FRAME_ICON_PROPERTY
public static final String FRAME_ICON_PROPERTY
Bound property name.
IS_SELECTED_PROPERTY
public static final String IS_SELECTED_PROPERTY
Constrained property name indicated that this frame has selected status.
IS_CLOSED_PROPERTY
public static final String IS_CLOSED_PROPERTY
Constrained property name indicating that the internal frame is closed.
IS_MAXIMUM_PROPERTY
public static final String IS_MAXIMUM_PROPERTY
Constrained property name indicating that the internal frame is maximized.
IS_ICON_PROPERTY
public static final String IS_ICON_PROPERTY
Constrained property name indicating that the internal frame is iconified.
Constructors
JInternalFrame
public JInternalFrame()
Creates a non-resizable, non-closable, non-maximizable, non-iconifiable JInternalFrame
with no title.
JInternalFrame
public JInternalFrame(String title)
Creates a non-resizable, non-closable, non-maximizable, non-iconifiable JInternalFrame
with the specified title. Note that passing in a null
title
results in unspecified behavior and possibly an exception.
- Parameters:
-
title
- the non-null
String
to display in the title bar
JInternalFrame
public JInternalFrame(String title, boolean resizable)
Creates a non-closable, non-maximizable, non-iconifiable JInternalFrame
with the specified title and resizability.
- Parameters:
-
title
- theString
to display in the title bar -
resizable
- iftrue
, the internal frame can be resized
JInternalFrame
public JInternalFrame(String title, boolean resizable, boolean closable)
Creates a non-maximizable, non-iconifiable JInternalFrame
with the specified title, resizability, and closability.
- Parameters:
-
title
- theString
to display in the title bar -
resizable
- iftrue
, the internal frame can be resized -
closable
- iftrue
, the internal frame can be closed
JInternalFrame
public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable)
Creates a non-iconifiable JInternalFrame
with the specified title, resizability, closability, and maximizability.
- Parameters:
-
title
- theString
to display in the title bar -
resizable
- iftrue
, the internal frame can be resized -
closable
- iftrue
, the internal frame can be closed -
maximizable
- iftrue
, the internal frame can be maximized
JInternalFrame
public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
Creates a JInternalFrame
with the specified title, resizability, closability, maximizability, and iconifiability. All JInternalFrame
constructors use this one.
- Parameters:
-
title
- theString
to display in the title bar -
resizable
- iftrue
, the internal frame can be resized -
closable
- iftrue
, the internal frame can be closed -
maximizable
- iftrue
, the internal frame can be maximized -
iconifiable
- iftrue
, the internal frame can be iconified
Methods
createRootPane
protected JRootPane createRootPane()
Called by the constructor to set up the JRootPane
.
- Returns:
- a new
JRootPane
- See Also:
JRootPane
getUI
public InternalFrameUI getUI()
Returns the look-and-feel object that renders this component.
- Returns:
- the
InternalFrameUI
object that renders this component
setUI
public void setUI(InternalFrameUI ui)
Sets the UI delegate for this JInternalFrame
.
- Parameters:
-
ui
- the UI delegate
updateUI
public void updateUI()
Notification from the UIManager
that the look and feel has changed. Replaces the current UI object with the latest version from the UIManager
.
- Overrides:
-
updateUI
in classJComponent
- See Also:
JComponent.updateUI()
getUIClassID
public String 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 to add
and setLayout
are forwarded to the contentPane
.
- 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
protected void setRootPaneCheckingEnabled(boolean enabled)
Sets whether calls to add
and setLayout
are forwarded to the contentPane
.
- 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
protected void addImpl(Component comp, Object constraints, int index)
Adds the specified child 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.
- Overrides:
-
addImpl
in classContainer
- Parameters:
-
comp
- the component to be enhanced -
constraints
- the constraints to be respected -
index
- the index - Throws:
-
IllegalArgumentException
- ifindex
is invalid -
IllegalArgumentException
- if adding the container's parent to itself -
IllegalArgumentException
- if adding a window to a container - See Also:
-
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
remove
public void remove(Component comp)
Removes the specified component from the container. If comp
is not a child of the JInternalFrame
this will forward the call to the contentPane
.
- 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
public void setLayout(LayoutManager manager)
Ensures that, by default, the layout of this component cannot be set. Overridden to conditionally forward the call to the contentPane
. Refer to RootPaneContainer
for more information.
- Overrides:
-
setLayout
in classContainer
- Parameters:
-
manager
- theLayoutManager
- See Also:
setRootPaneCheckingEnabled(boolean)
getMenuBar
@Deprecated public JMenuBar getMenuBar()
Deprecated. As of Swing version 1.0.3, replaced by getJMenuBar()
.
Returns the current JMenuBar
for this JInternalFrame
, or null
if no menu bar has been set.
- Returns:
- the current menu bar, or
null
if none has been set
getJMenuBar
public JMenuBar getJMenuBar()
Returns the current JMenuBar
for this JInternalFrame
, or null
if no menu bar has been set.
- Returns:
- the
JMenuBar
used by this internal frame - See Also:
setJMenuBar(javax.swing.JMenuBar)
setMenuBar
@Deprecated public void setMenuBar(JMenuBar m)
Deprecated. As of Swing version 1.0.3 replaced by setJMenuBar(JMenuBar m)
.
Sets the menuBar
property for this JInternalFrame
.
- Parameters:
-
m
- theJMenuBar
to use in this internal frame - See Also:
getJMenuBar()
setJMenuBar
public void setJMenuBar(JMenuBar m)
Sets the menuBar
property for this JInternalFrame
.
- Parameters:
-
m
- theJMenuBar
to use in this internal frame - See Also:
getJMenuBar()
getContentPane
public Container 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
public void setContentPane(Container c)
Sets this JInternalFrame
's contentPane
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
public JLayeredPane 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
public void setLayeredPane(JLayeredPane layered)
Sets this JInternalFrame
's layeredPane
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
public Component 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
public void setGlassPane(Component glass)
Sets this JInternalFrame
's glassPane
property.
- Specified by:
-
setGlassPane
in interfaceRootPaneContainer
- Parameters:
-
glass
- the glass pane for this internal frame - See Also:
RootPaneContainer.getGlassPane()
getRootPane
public JRootPane getRootPane()
Returns the rootPane
object for this internal frame.
- Specified by:
-
getRootPane
in interfaceRootPaneContainer
- Overrides:
-
getRootPane
in classJComponent
- Returns:
- the
rootPane
property - See Also:
RootPaneContainer.getRootPane()
setRootPane
protected void setRootPane(JRootPane root)
Sets the rootPane
property for this JInternalFrame
. This method is called by the constructor.
- Parameters:
-
root
- the newJRootPane
object
setClosable
public void setClosable(boolean b)
Sets whether this JInternalFrame
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 this JInternalFrame
can be closed by some user action.
- Returns:
-
true
if this internal frame can be closed
isClosed
public boolean isClosed()
Returns whether this JInternalFrame
is currently closed.
- Returns:
-
true
if this internal frame is closed,false
otherwise
setClosed
public void setClosed(boolean b) throws PropertyVetoException
Closes this internal frame if the argument is true
. Do not invoke this method with a false
argument; the result of invoking setClosed(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 the closed
property to true
unless a listener vetoes the property change. This method finishes by making the internal frame invisible and unselected, and then firing an INTERNAL_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
public void setResizable(boolean b)
Sets whether the JInternalFrame
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 the JInternalFrame
can be resized by some user action.
- Returns:
-
true
if this internal frame can be resized,false
otherwise
setIconifiable
public void setIconifiable(boolean b)
Sets the iconable
property, which must be true
for the user to be able to make the JInternalFrame
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 the iconable
property, which by default is false
.
- Returns:
- the value of the
iconable
property. - See Also:
setIconifiable(boolean)
isIcon
public boolean isIcon()
Returns whether the JInternalFrame
is currently iconified.
- Returns:
-
true
if this internal frame is iconified
setIcon
public void setIcon(boolean b) throws PropertyVetoException
Iconifies 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 an INTERNAL_FRAME_ICONIFIED
event. If the state changes to de-iconified, an INTERNAL_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
public void setMaximizable(boolean b)
Sets the maximizable
property, which determines whether the JInternalFrame
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 the maximizable
property.
- Returns:
- the value of the
maximizable
property - See Also:
setMaximizable(boolean)
isMaximum
public boolean isMaximum()
Returns whether the JInternalFrame
is currently maximized.
- Returns:
-
true
if this internal frame is maximized,false
otherwise
setMaximum
public void setMaximum(boolean b) throws PropertyVetoException
Maximizes and restores this internal frame. A maximized frame is resized to fully fit the JDesktopPane
area associated with the JInternalFrame
. A restored frame's size is set to the JInternalFrame
'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
public String getTitle()
Returns the title of the JInternalFrame
.
- Returns:
- a
String
containing this internal frame's title - See Also:
setTitle(java.lang.String)
setTitle
public void setTitle(String title)
Sets the JInternalFrame
title. title
may have a null
value.
- Parameters:
-
title
- theString
to display in the title bar - See Also:
getTitle()
setSelected
public void setSelected(boolean selected) throws PropertyVetoException
Selects or deselects the internal frame if it's showing. A JInternalFrame
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 an InternalFrameEvent.INTERNAL_FRAME_ACTIVATED
event. If the change is from selected to deselected, an InternalFrameEvent.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 the JInternalFrame
is the currently "selected" or active frame.
- Returns:
-
true
if this internal frame is currently selected (active) - See Also:
setSelected(boolean)
setFrameIcon
public void setFrameIcon(Icon icon)
Sets an image to be displayed in the titlebar of this internal frame (usually in the top-left corner). This image is not the desktopIcon
object, which is the image displayed in the JDesktop
when this internal frame is iconified. Passing null
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
public Icon 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 a JLayeredPane
.
moveToBack
public void moveToBack()
Convenience method that moves this component to position -1 if its parent is a JLayeredPane
.
getLastCursor
public Cursor getLastCursor()
Returns the last Cursor
that was set by the setCursor
method that is not a resizable Cursor
.
- Returns:
- the last non-resizable
Cursor
- Since:
- 1.6
setCursor
public void setCursor(Cursor cursor)
Sets the cursor image to the specified cursor. This cursor image is displayed when the contains
method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of a Container
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
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 - See Also:
JLayeredPane
setLayer
public void setLayer(int layer)
Convenience method for setting the layer attribute of this component. The method setLayer(Integer)
should be used for layer values predefined in JLayeredPane
. When using setLayer(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
public JDesktopPane getDesktopPane()
Convenience method that searches the ancestor hierarchy for a JDesktop
instance. If JInternalFrame
finds none, the desktopIcon
tree is searched.
- Returns:
- the
JDesktopPane
this internal frame belongs to, ornull
if none is found
setDesktopIcon
public void setDesktopIcon(JInternalFrame.JDesktopIcon d)
Sets the JDesktopIcon
associated with this JInternalFrame
.
- Parameters:
-
d
- theJDesktopIcon
to display on the desktop - See Also:
getDesktopIcon()
getDesktopIcon
public JInternalFrame.JDesktopIcon getDesktopIcon()
Returns the JDesktopIcon
used when this JInternalFrame
is iconified.
- Returns:
- the
JDesktopIcon
displayed on the desktop - See Also:
setDesktopIcon(javax.swing.JInternalFrame.JDesktopIcon)
getNormalBounds
public Rectangle getNormalBounds()
If the JInternalFrame
is not in maximized state, returns getBounds()
; otherwise, returns the bounds that the JInternalFrame
would be restored to.
- Returns:
- a
Rectangle
containing the bounds of this frame when in the normal state - Since:
- 1.3
setNormalBounds
public 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. 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
public Component getFocusOwner()
If this JInternalFrame
is active, returns the child that has focus. Otherwise, returns null
.
- Returns:
- the component with focus, or
null
if no children have focus - Since:
- 1.3
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
Returns the child component of this JInternalFrame
that will receive the focus when this JInternalFrame
is selected. If this JInternalFrame
is currently selected, this method returns the same component as the getFocusOwner
method. If this JInternalFrame
is not selected, then the child component that most recently requested focus will be returned. If no child component has ever requested focus, then this JInternalFrame
's initial focusable component is returned. If no such child exists, then this JInternalFrame
'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 container -
y
- an integer giving the component's new vertical position, measured in pixels from the bottom of its container -
width
- an integer giving the component's new width in pixels -
height
- an integer giving the component's new height in pixels - See Also:
Component.setBounds(int, int, int, int)
addInternalFrameListener
public void addInternalFrameListener(InternalFrameListener l)
Adds the specified listener to receive internal frame events from this internal frame.
- Parameters:
-
l
- the internal frame listener
removeInternalFrameListener
public void removeInternalFrameListener(InternalFrameListener l)
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
public InternalFrameListener[] getInternalFrameListeners()
Returns an array of all the InternalFrameListener
s added to this JInternalFrame
with addInternalFrameListener
.
- 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 an INTERNAL_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 an INTERNAL_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 this JInternalFrame
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 an INTERNAL_FRAME_OPENED
event. This method does nothing if the internal frame is already visible. Invoking this method has the same result as invoking setVisible(true)
.
- Overrides:
-
show
in classComponent
- See Also:
-
moveToFront()
,setSelected(boolean)
,InternalFrameEvent.INTERNAL_FRAME_OPENED
,JComponent.setVisible(boolean)
hide
public void hide()
Description copied from class: JComponent
- Overrides:
-
hide
in classJComponent
dispose
public void dispose()
Makes this internal frame invisible, unselected, and closed. If the frame is not already closed, this method fires an INTERNAL_FRAME_CLOSED
event. The results of invoking this method are similar to setClosed(true)
, but dispose
always succeeds in closing the internal frame and does not fire an INTERNAL_FRAME_CLOSING
event.
- See Also:
-
InternalFrameEvent.INTERNAL_FRAME_CLOSED
,JComponent.setVisible(boolean)
,setSelected(boolean)
,setClosed(boolean)
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 because JInternalFrame
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 returns true
because all JInternalFrame
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
public final Container getFocusCycleRootAncestor()
Always returns null
because JInternalFrame
s must always be roots of a focus traversal cycle.
- Overrides:
-
getFocusCycleRootAncestor
in classComponent
- Returns:
null
- Since:
- 1.4
- See Also:
Container.isFocusCycleRoot()
getWarningString
public final String 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 returns null
.
- Returns:
null
- See Also:
Window.getWarningString()
paramString
protected String paramString()
Returns a string representation of this JInternalFrame
. 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 be null
.
- Overrides:
-
paramString
in classJComponent
- Returns:
- a string representation of this
JInternalFrame
paintComponent
protected void paintComponent(Graphics g)
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
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext
associated with this JInternalFrame
. For internal frames, the AccessibleContext
takes the form of an AccessibleJInternalFrame
object. A new AccessibleJInternalFrame
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
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.