Package org.nuiton.jaxx.widgets.extra
Class SimpleInternalFrame
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.nuiton.jaxx.widgets.extra.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.
- Author:
- Karsten Lentzsch
- See Also:
JInternalFrame,JDesktopPane, Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors Constructor Description SimpleInternalFrame()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
Modifier and Type Method Description java.awt.ComponentgetContent()Returns the content - null, if none has been set.javax.swing.IcongetFrameIcon()Returns the frame's icon.protected java.awt.ColorgetHeaderBackground()Determines and answers the header's background color.protected java.awt.ColorgetTextForeground(boolean selected)Determines and answers the header's text foreground color.java.lang.StringgetTitle()Returns the frame's title text.javax.swing.JToolBargetToolBar()Returns the current toolbar, null if none has been set before.booleanisSelected()Answers if the panel is currently selected (or in other words active) or not.voidsetContent(java.awt.Component newContent)Sets a new panel content; replaces any existing content, if existing.voidsetFrameIcon(javax.swing.Icon newIcon)Sets a new frame icon.voidsetSelected(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.voidsetTitle(java.lang.String newText)Sets a new title text.voidsetToolBar(javax.swing.JToolBar newToolBar)Sets a new tool bar in the header.voidupdateUI()Updates the UI.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
SimpleInternalFrame
public SimpleInternalFrame() -
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 icontitle- 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 titlebar- the initial tool barcontent- 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 icontitle- the initial titlebar- the initial tool barcontent- the initial content pane
-
-
Method Details
-
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.- Returns:
- String the current title text
-
setTitle
public void setTitle(java.lang.String newText)Sets a new title text.- Parameters:
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.- Returns:
- the current content
-
setContent
public void setContent(java.awt.Component newContent)Sets a new panel content; replaces any existing content, if existing.- Parameters:
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:
updateUIin classjavax.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
-