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
TableCellRenderer
based 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 String
extractProperty(Object object)
Typically simply callspropertyExtractor.get(value)
.protected String
formatProperty(String property)
Returns a formatted version of the given property to be displayed in the UI.BeaTunes
getApplication()
Issue
getIssue()
protected Rectangle
getIssueHighlightBounds(Graphics g)
protected int
getIssueHighlightWidth(Graphics g)
protected List<Issue>
getIssues(Object value)
Property<String>
getProperty()
String
getSearchableText()
The substring of the displayed text that is searchable.Component
getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
protected String
getToolTipText(String property, Object formattedProperty)
void
invalidate()
Overridden for performance reasons.boolean
isOpaque()
Overridden for performance reasons.boolean
isShowTooltip()
Show the rendered value also as tooltip?void
paint(Graphics g)
protected void
paintIssueHighlight(Graphics g)
void
repaint()
Overridden for performance reasons.void
repaint(long tm, int x, int y, int width, int height)
Overridden for performance reasons.void
repaint(Rectangle r)
Overridden for performance reasons.void
revalidate()
Overridden for performance reasons.protected String
searchableProperty(String property)
Returns a formatted version of the given property that is searchable.void
setApplication(BeaTunes beaTunes)
void
setProperty(Property<String> property)
void
setSearchableText(String searchableText)
void
setShowTooltip(boolean showTooltip)
Enable/disable showing the rendered value also as tooltip.void
updateUI()
Notification from theUIManager
that the look and feel [L&F] has changed.void
validate()
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:BeaTunesTableCellRenderer
Show the rendered value also as tooltip?- Specified by:
isShowTooltip
in interfaceBeaTunesTableCellRenderer
- Returns:
- true or false
-
setShowTooltip
public void setShowTooltip(boolean showTooltip)
Description copied from interface:BeaTunesTableCellRenderer
Enable/disable showing the rendered value also as tooltip.- Specified by:
setShowTooltip
in 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:
setApplication
in interfaceBeaTunesTableCellRenderer
- Parameters:
beaTunes
- beaTunes
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
- Specified by:
getTableCellRendererComponent
in interfaceTableCellRenderer
-
getIssue
public Issue getIssue()
-
paint
public void paint(Graphics g)
- Overrides:
paint
in 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 theUIManager
that the look and feel [L&F] has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classJTextComponent
- See Also:
JComponent.updateUI()
-
isOpaque
public boolean isOpaque()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
isOpaque
in classJComponent
-
invalidate
public void invalidate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
invalidate
in 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:
revalidate
in 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:
repaint
in classJComponent
-
repaint
public void repaint(Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
repaint
in classJComponent
-
repaint
public void repaint()
Overridden for performance reasons. See the Implementation Note for more information.
-
-