javax.swing
Class JInternalFrame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JInternalFrame
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, 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 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. So, to create a JInternalFrame that has a number of buttons arranged with the content pane's default BorderLayout object, you might do something like this:

    JComponent c = (JComponent) internalFrame.getContentPane();
    c.add(new JButton(), BorderLayout.NORTH);
    c.add(new JButton(), BorderLayout.CENTER);
 
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.

For the keyboard keys used by this component in the standard look and feel renditions, see the JInternalFrame key assignments.

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.

See Also:
InternalFrameEvent, JDesktopPane, DesktopManager, JInternalFrame.JDesktopIcon, JRootPane

 

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 inherited from class javax.swing.JComponent
 
Nested classes inherited from class java.awt.Container
 
Nested classes inherited from class java.awt.Component
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 cause an exception to be thrown.
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)
    Ensures that, by default, children cannot be added directly to this 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.
 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 cause an exception to be thrown.
 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 this 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 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)
    Determines whether calls to add and setLayout cause an exception to be thrown.
 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 javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler,