Class SimpleInternalFrame

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class SimpleInternalFrame
    extends javax.swing.JPanel
    A JPanel subclass that has a drop shadow border and that provides a header with icon, title and tool bar.

    This class can be used to replace the JInternalFrame, for use outside of a JDesktopPane. The SimpleInternalFrame is less flexible but often more usable; it avoids overlapping windows and scales well up to IDE size. Several customers have reported that they and their clients feel much better with both the appearance and the UI feel.

    The SimpleInternalFrame provides the following bound properties: frameIcon, title, toolBar, content, selected.

    By default the SimpleInternalFrame is in selected state. If you don't do anything, multiple simple internal frames will be displayed as selected.

    Version:
    $Revision: 203 $
    Author:
    Karsten Lentzsch
    See Also:
    JInternalFrame, JDesktopPane, Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • Fields inherited from class javax.swing.JComponent

        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

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleInternalFrame​(java.lang.String title)
      Constructs a SimpleInternalFrame with the specified title.
      SimpleInternalFrame​(java.lang.String title, javax.swing.JToolBar bar, javax.swing.JComponent content)
      Constructs a SimpleInternalFrame with the specified title, tool bar, and content panel.
      SimpleInternalFrame​(javax.swing.Icon icon, java.lang.String title)
      Constructs a SimpleInternalFrame with the specified icon, and title.
      SimpleInternalFrame​(javax.swing.Icon icon, java.lang.String title, javax.swing.JToolBar bar, javax.swing.JComponent content)
      Constructs a SimpleInternalFrame with the specified icon, title, tool bar, and content panel.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Component getContent()
      Returns the content - null, if none has been set. * @return the current content
      javax.swing.Icon getFrameIcon()
      Returns the frame's icon.
      protected java.awt.Color getHeaderBackground()
      Determines and answers the header's background color.
      protected java.awt.Color getTextForeground​(boolean selected)
      Determines and answers the header's text foreground color.
      java.lang.String getTitle()
      Returns the frame's title text. * @return String the current title text
      javax.swing.JToolBar getToolBar()
      Returns the current toolbar, null if none has been set before.
      boolean isSelected()
      Answers if the panel is currently selected (or in other words active) or not.
      void setContent​(java.awt.Component newContent)
      Sets a new panel content; replaces any existing content, if existing. * @param newContent the panel's new content
      void setFrameIcon​(javax.swing.Icon newIcon)
      Sets a new frame icon.
      void setSelected​(boolean newValue)
      This panel draws its title bar differently if it is selected, which may be used to indicate to the user that this panel has the focus, or should get more attention than other simple internal frames.
      void setTitle​(java.lang.String newText)
      Sets a new title text. * @param newText the title text tp be set
      void setToolBar​(javax.swing.JToolBar newToolBar)
      Sets a new tool bar in the header.
      void updateUI()
      Updates the UI.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, getRootPane, 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, paintComponent, 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, reshape, 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 inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SimpleInternalFrame

        public SimpleInternalFrame​(java.lang.String title)
        Constructs a SimpleInternalFrame with the specified title.
        Parameters:
        title - the initial title
      • SimpleInternalFrame

        public SimpleInternalFrame​(javax.swing.Icon icon,
                                   java.lang.String title)
        Constructs a SimpleInternalFrame with the specified icon, and title.
        Parameters:
        icon - the initial icon
        title - the initial title
      • SimpleInternalFrame

        public SimpleInternalFrame​(java.lang.String title,
                                   javax.swing.JToolBar bar,
                                   javax.swing.JComponent content)
        Constructs a SimpleInternalFrame with the specified title, tool bar, and content panel.
        Parameters:
        title - the initial title
        bar - the initial tool bar
        content - the initial content pane
      • SimpleInternalFrame

        public SimpleInternalFrame​(javax.swing.Icon icon,
                                   java.lang.String title,
                                   javax.swing.JToolBar bar,
                                   javax.swing.JComponent content)
        Constructs a SimpleInternalFrame with the specified icon, title, tool bar, and content panel.
        Parameters:
        icon - the initial icon
        title - the initial title
        bar - the initial tool bar
        content - the initial content pane
    • Method Detail

      • getFrameIcon

        public javax.swing.Icon getFrameIcon()
        Returns the frame's icon.
        Returns:
        the frame's icon
      • setFrameIcon

        public void setFrameIcon​(javax.swing.Icon newIcon)
        Sets a new frame icon.
        Parameters:
        newIcon - the icon to be set
      • getTitle

        public java.lang.String getTitle()
        Returns the frame's title text. * @return String the current title text
      • setTitle

        public void setTitle​(java.lang.String newText)
        Sets a new title text. * @param newText the title text tp be set
      • getToolBar

        public javax.swing.JToolBar getToolBar()
        Returns the current toolbar, null if none has been set before.
        Returns:
        the current toolbar - if any
      • setToolBar

        public void setToolBar​(javax.swing.JToolBar newToolBar)
        Sets a new tool bar in the header.
        Parameters:
        newToolBar - the tool bar to be set in the header
      • getContent

        public java.awt.Component getContent()
        Returns the content - null, if none has been set. * @return the current content
      • setContent

        public void setContent​(java.awt.Component newContent)
        Sets a new panel content; replaces any existing content, if existing. * @param newContent the panel's new content
      • isSelected

        public boolean isSelected()
        Answers if the panel is currently selected (or in other words active) or not. In the selected state, the header background will be rendered differently.
        Returns:
        boolean a boolean, where true means the frame is selected (currently active) and false means it is not
      • setSelected

        public void setSelected​(boolean newValue)
        This panel draws its title bar differently if it is selected, which may be used to indicate to the user that this panel has the focus, or should get more attention than other simple internal frames.
        Parameters:
        newValue - a boolean, where true means the frame is selected (currently active) and false means it is not
      • updateUI

        public void updateUI()
        Updates the UI. In addition to the superclass behavior, we need to update the header component.
        Overrides:
        updateUI in class javax.swing.JPanel
      • getTextForeground

        protected java.awt.Color getTextForeground​(boolean selected)
        Determines and answers the header's text foreground color. Tries to lookup a special color from the L&F. In case it is absent, it uses the standard internal frame forground.
        Parameters:
        selected - true to lookup the active color, false for the inactive
        Returns:
        the color of the foreground text
      • getHeaderBackground

        protected java.awt.Color getHeaderBackground()
        Determines and answers the header's background color. Tries to lookup a special color from the L&F. In case it is absent, it uses the standard internal frame background.
        Returns:
        the color of the header's background