Holger's
Java API

com.antelmann.util.gui
Class JPreviewPane<T>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.antelmann.util.gui.JPreviewPane<T>
All Implemented Interfaces:
ValueRetriever<T>, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener

public class JPreviewPane<T>
extends JComponent
implements PropertyChangeListener, ValueRetriever<T>

provides a component that displays a preview of a component that itself allows to select values. This instance adds itself as as PropertyChangeListener to the given selection-component to know when the given ValueRetriever is to be called in order to update the preview; so the given selection-component must fire a PropertyChangeEvent upon selection changes. When this component is added to a component, it will request the focus in the window for the selection-component via requestFocusInWindow(), so any component used here should delegate this appropriately to the desired place.

Since:
22.06.2008, 21:22:18
Author:
Holger Antelmann
See Also:
JSearchList, JSearchTable, requestFocusInWindow(), Serialized Form

Nested Class Summary
 
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
 
Field Summary
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JPreviewPane(Component selectionComp, ValueRetriever<T> retriever)
           
JPreviewPane(Component selectionComp, ValueRetriever<T> retriever, PatternExtractor<? super T,? extends Component> pe)
           
JPreviewPane(Component selectionComp, ValueRetriever<T> retriever, PatternExtractor<? super T,? extends Component> pe, int splitOrientation)
           
 
Method Summary
static PatternExtractor<Object,JComponent> getDefaultComponentExtractor()
           
 JSplitPane getJSplitPane()
           
 T getRelevantValue()
          returns the relevant value for this instance at the time of calling
 Component getSelectionComponent()
           
 ValueRetriever<T> getValueRetriever()
           
 void propertyChange(PropertyChangeEvent ev)
           
 boolean requestFocusInWindow()
           
static
<T> T
showSelectDialog(Component parent, String title, Component selectionComp, ValueRetriever<T> retriever, PatternExtractor<? super T,? extends Component> pe, boolean resizable)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, updateUI
 
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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JPreviewPane

public JPreviewPane(Component selectionComp,
                    ValueRetriever<T> retriever)

JPreviewPane

public JPreviewPane(Component selectionComp,
                    ValueRetriever<T> retriever,
                    PatternExtractor<? super T,? extends Component> pe)

JPreviewPane

public JPreviewPane(Component selectionComp,
                    ValueRetriever<T> retriever,
                    PatternExtractor<? super T,? extends Component> pe,
                    int splitOrientation)
Parameters:
selectionComp - a component that should fire a PropertyChangeEvent upon altering the selection
pe - specifies how a Component is to be derived from a selected value from the component; should handle null as a parameter to display a default component when nothing is selected
splitOrientation - refers to the orientation of the JSplitPane, see JSplitPane.JSplitPane(int)
Method Detail

requestFocusInWindow

public boolean requestFocusInWindow()
Overrides:
requestFocusInWindow in class JComponent

propertyChange

public void propertyChange(PropertyChangeEvent ev)
Specified by:
propertyChange in interface PropertyChangeListener

getRelevantValue

public T getRelevantValue()
                   throws IOException
Description copied from interface: ValueRetriever
returns the relevant value for this instance at the time of calling

Specified by:
getRelevantValue in interface ValueRetriever<T>
Throws:
IOException - if any resource to fulfill the request is not accessible

getSelectionComponent

public Component getSelectionComponent()

getJSplitPane

public JSplitPane getJSplitPane()

getValueRetriever

public ValueRetriever<T> getValueRetriever()

showSelectDialog

public static <T> T showSelectDialog(Component parent,
                                     String title,
                                     Component selectionComp,
                                     ValueRetriever<T> retriever,
                                     PatternExtractor<? super T,? extends Component> pe,
                                     boolean resizable)
See Also:
FormHelper.showSelectDialog(Component, String, Component, ValueRetriever, boolean)

getDefaultComponentExtractor

public static PatternExtractor<Object,JComponent> getDefaultComponentExtractor()
See Also:
Menus.getComponentFor(Object)


(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads