Class StringTableCellRenderer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextField
-
- com.tagtraum.beatunes.songtable.renderer.StringTableCellRenderer
-
- All Implemented Interfaces:
BeaTunesTableCellRenderer,ImageObserver,MenuContainer,Serializable,Accessible,Scrollable,SwingConstants,TableCellRenderer
- Direct Known Subclasses:
GenreTableCellRenderer,SortTextTableCellRenderer
public class StringTableCellRenderer extends JTextField implements BeaTunesTableCellRenderer
TableCellRendererbased on a text component that allows sophisticated highlighting of search results.- Author:
- Hendrik Schreiber
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
-
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.JTextField
notifyAction
-
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
-
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
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description StringTableCellRenderer(Property<String> property)StringTableCellRenderer(Property<String> property, boolean showTooltip)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringextractProperty(Object object)Typically simply callspropertyExtractor.get(value).protected StringformatProperty(String property)Returns a formatted version of the given property to be displayed in the UI.BeaTunesgetApplication()IssuegetIssue()protected RectanglegetIssueHighlightBounds(Graphics g)protected intgetIssueHighlightWidth(Graphics g)protected List<Issue>getIssues(Object value)Property<String>getProperty()StringgetSearchableText()The substring of the displayed text that is searchable.ComponentgetTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)protected StringgetToolTipText(String property, Object formattedProperty)voidinvalidate()Overridden for performance reasons.booleanisOpaque()Overridden for performance reasons.booleanisShowTooltip()Show the rendered value also as tooltip?voidpaint(Graphics g)protected voidpaintIssueHighlight(Graphics g)voidrepaint()Overridden for performance reasons.voidrepaint(long tm, int x, int y, int width, int height)Overridden for performance reasons.voidrepaint(Rectangle r)Overridden for performance reasons.voidrevalidate()Overridden for performance reasons.protected StringsearchableProperty(String property)Returns a formatted version of the given property that is searchable.voidsetApplication(BeaTunes beaTunes)voidsetProperty(Property<String> property)voidsetSearchableText(String searchableText)voidsetShowTooltip(boolean showTooltip)Enable/disable showing the rendered value also as tooltip.voidupdateUI()Notification from theUIManagerthat the look and feel [L&F] has changed.voidvalidate()Overridden for performance reasons.-
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, viewToModel, viewToModel2D, write
-
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, 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
-
Methods inherited from interface com.tagtraum.beatunes.plaf.BeaTunesTableCellRenderer
isFocusedAndSelected
-
-
-
-
Method Detail
-
getApplication
public BeaTunes getApplication()
-
isShowTooltip
public boolean isShowTooltip()
Description copied from interface:BeaTunesTableCellRendererShow the rendered value also as tooltip?- Specified by:
isShowTooltipin interfaceBeaTunesTableCellRenderer- Returns:
- true or false
-
setShowTooltip
public void setShowTooltip(boolean showTooltip)
Description copied from interface:BeaTunesTableCellRendererEnable/disable showing the rendered value also as tooltip.- Specified by:
setShowTooltipin interfaceBeaTunesTableCellRenderer- Parameters:
showTooltip- showTooltip
-
getSearchableText
public String getSearchableText()
The substring of the displayed text that is searchable. This allows displaying more than teh searchable part.- Returns:
- either the same as the regular text or a substring of
JTextComponent.getText().
-
setSearchableText
public void setSearchableText(String searchableText)
-
setApplication
public void setApplication(BeaTunes beaTunes)
- Specified by:
setApplicationin interfaceBeaTunesTableCellRenderer- Parameters:
beaTunes- beaTunes
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
- Specified by:
getTableCellRendererComponentin interfaceTableCellRenderer
-
getIssue
public Issue getIssue()
-
paint
public void paint(Graphics g)
- Overrides:
paintin classJComponent
-
paintIssueHighlight
protected void paintIssueHighlight(Graphics g)
-
getIssueHighlightWidth
protected int getIssueHighlightWidth(Graphics g)
-
formatProperty
protected String formatProperty(String property)
Returns a formatted version of the given property to be displayed in the UI. By default returns an empty String fornull, otherwise the property itself. If you would like to format the given property somehow, do it here.- Parameters:
property- typed property- Returns:
- formatted property
- See Also:
searchableProperty(String)
-
searchableProperty
protected String searchableProperty(String property)
Returns a formatted version of the given property that is searchable. Whatever this method returns, it must be either the same or a substring of what
formatProperty(String)returns.By default returns an empty String for null, otherwise the property itself. If you would like to format the given property somehow, do it here.
- Parameters:
property- typed property- Returns:
- formatted property
- See Also:
formatProperty(String)
-
extractProperty
protected String extractProperty(Object object)
Typically simply callspropertyExtractor.get(value). If you want to convert some values into special (other) values (e.g. 0 into null), override this method.- Parameters:
object- object- Returns:
- property value
-
updateUI
public void updateUI()
Notification from theUIManagerthat the look and feel [L&F] has changed. Replaces the current UI object with the latest version from theUIManager.- Overrides:
updateUIin classJTextComponent- See Also:
JComponent.updateUI()
-
isOpaque
public boolean isOpaque()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
isOpaquein classJComponent
-
invalidate
public void invalidate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
invalidatein classContainer- Since:
- 1.5
-
validate
public void validate()
Overridden for performance reasons. See the Implementation Note for more information.
-
revalidate
public void revalidate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
revalidatein classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height)Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
repaintin classJComponent
-
repaint
public void repaint(Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
repaintin classJComponent
-
repaint
public void repaint()
Overridden for performance reasons. See the Implementation Note for more information.
-
-