chemaxon.marvin.beans
Class MViewRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JRootPane
                  extended by chemaxon.marvin.beans.MarvinPane
                      extended by chemaxon.marvin.beans.MViewPane
                          extended by chemaxon.marvin.beans.MViewRenderer
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.table.TableCellRenderer

public class MViewRenderer
extends MViewPane
implements javax.swing.table.TableCellRenderer

MViewRenderer is a TableCellRenderer component that can be used to render Molecule objects in JTables.

Example of usage: http://www.chemaxon.com/marvin/examples/beans/view-jtable/index.html

Since:
Marvin 5.1.2
Version:
5.2.2 05/18/2009
Author:
Judit Vasko-Szedlar, Peter Csizmadia
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JRootPane
javax.swing.JRootPane.AccessibleJRootPane, javax.swing.JRootPane.RootLayout
 
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 chemaxon.marvin.beans.MViewPane
EDITABLE, SKETCHABLE, VIEW_ONLY
 
Fields inherited from class chemaxon.marvin.beans.MarvinPane
molPanel, params, topLevelContainer, VERSION
 
Fields inherited from class javax.swing.JRootPane
COLOR_CHOOSER_DIALOG, contentPane, defaultButton, defaultPressAction, defaultReleaseAction, ERROR_DIALOG, FILE_CHOOSER_DIALOG, FRAME, glassPane, INFORMATION_DIALOG, layeredPane, menuBar, NONE, PLAIN_DIALOG, QUESTION_DIALOG, WARNING_DIALOG
 
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
MViewRenderer()
          Creates the cell renderer.
 
Method Summary
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column)
          The implementation of this method sets up the rendering component to display the passed-in molecule, and then returns the component.
protected  void setBackgroundColor(javax.swing.JTable table, boolean isSelected, boolean hasFocus, int row, int column)
          Sets the background color for the current cell based on selection.
protected  void setBorder(javax.swing.JTable table, boolean isSelected, boolean hasFocus, int row, int column)
          Sets the border for the current cell based on selection.
 
Methods inherited from class chemaxon.marvin.beans.MViewPane
addPropertyChangeListener, applyRotationMatrices, applyRotationMatrix, closeSketcher, closeWindow, destroySketcher, doPaste, getAbsoluteCellIndex, getAbsoluteCellIndex, getAnimated, getAnimDelay, getAnimFPS, getAutoTabScale, getBestTabScale, getBestTabScale, getBorderWidth, getC, getCanvasComponent, getCellCount, getCommonActions, getDocStorage, getDocument, getDocuments, getEditable, getFieldFont, getL, getM, getM, getNavmode, getPreferredSize, getRecordIDBackground, getRecordIDForeground, getRotationMatrix, getSelectedIndex, getT, getTableSupport, getTabScale, getTabScale, getTopLeftIndex, getVisibleButtonB, getVisibleButtonC, getVisibleCellComponent, getVisibleCellCount, getVisibleCellIndex, getWinScale, indexOfButtonB, indexOfButtonC, isAnimated, isAnimSync, isDetachable, isDraggable, isSelectable, isSketchWindowOpened, isValenceErrorVisibleInView, isViewWindowOpened, makeEditMenu, makeHelpMenu, makeRecentFileListMenu, makeSaveAsMenu, makeStructureMenu, makeToolsMenu, makeViewMenu, openSketcher, openWindow, print, readExternal, setActionB, setActionC, setAnimated, setAnimated, setAnimDelay, setAnimFPS, setAnimSync, setAtomSetSeq, setAutoTabScale, setBorderWidth, setC, setDetachable, setDocument, setDraggable, setEditable, setEnabled, setFieldFont, setL, setM, setM, setM, setM, setM, setNavmode, setPreferredSize, setRecordIDBackground, setRecordIDForeground, setSelectable, setSelectedIndex, setSetSeq, setT, setTabScale, setTopLeftIndex, setValenceErrorVisibleInView, setWinScale, writeExternal
 
Methods inherited from class chemaxon.marvin.beans.MarvinPane
addActionListener, addHelpMenu, addMenuBarChangeListener, addToolsMenu, arePopupMenusEnabled, beginHourglass, closeWindows, componentHidden, componentMoved, componentResized, componentShown, createMenu, endHourglass, exit, getAtomNumbersVisible, getAtomSetColor, getAtomsize, getBallRadius, getBondSpacing, getBondWidth, getChiralitySupport, getCleanDim, getColorScheme, getDebug, getDirectory, getDispopts, getDispQuality, getDownWedge, getExplicitH, getFile, getFormat, getImplicitH, getInvisibleSets, getLabels, getLonePairsVisible, getMolbg, getMolPanel, getParameter, getParams, getPopupMenusEnabled, getReadGlobalGUIProperties, getRendering, getResourceBundle, getSaveGlobalGUIProperties, getSetColor, getStickThickness, getTopLevelContainer, getUserSettings, getWireThickness, init, init, initAction, initButton, isAtomMappingVisible, isAtomNumbersVisible, isAtomSymbolsVisible, isBondLengthVisible, isExitCanceled, isExperimentalEnabled, isEzVisible, isGrinv, isGrinvVisible, isPrintEnabled, isRgroupsVisible, isSaveIniEnabled, isSetColoringEnabled, keyPressed, keyReleased, keyTyped, propertyChange, readDoc, readMol, readResources, removeActionListener, setAtomMappingVisible, setAtomNumbersVisible, setAtomSetColor, setAtomsize, setAtomSymbolsVisible, setBallRadius, setBondLengthVisible, setBondSetColor, setBondSpacing, setBondWidth, setChiralitySupport, setCleanDim, setColorScheme, setDebug, setDirectory, setDispopts, setDispQuality, setDownWedge, setExperimentalEnabled, setExplicitH, setEzVisible, setFile, setFormat, setGlobalGUIProperties, setGrinv, setGrinvVisible, setImplicitH, setInvisibleSets, setLabels, setLonePairsVisible, setMolbg, setParams, setPopupMenusEnabled, setPrintEnabled, setRendering, setRgroupsVisible, setSaveIniEnabled, setSetColor, setSetColoringEnabled, setStickThickness, setTopLevelContainer, setUserSettings, setWireThickness, showErrorDialog, showFileDialog, showFileOpenDialog, writeMol
 
Methods inherited from class javax.swing.JRootPane
addImpl, addNotify, createContentPane, createGlassPane, createLayeredPane, createRootLayout, getAccessibleContext, getContentPane, getDefaultButton, getGlassPane, getJMenuBar, getLayeredPane, getMenuBar, getUI, getUIClassID, getWindowDecorationStyle, isOptimizedDrawingEnabled, isValidateRoot, paramString, removeNotify, setContentPane, setDefaultButton, setDoubleBuffered, setGlassPane, setJMenuBar, setLayeredPane, setMenuBar, setUI, setWindowDecorationStyle, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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

MViewRenderer

public MViewRenderer()
Creates the cell renderer. It can be assigned to JTables for example with table.setDefaultRenderer(Molecule.class, new MViewRenderer());

Method Detail

getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int row,
                                                        int column)
The implementation of this method sets up the rendering component to display the passed-in molecule, and then returns the component.

Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer
Parameters:
table - the JTable that is asking the renderer to draw; can be null
value - the value of the cell to be rendered; it is considered to be a Molecule instance
isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
hasFocus - if true, a special border is put on the cell, if the cell can be edited, it is rendered in the color used to indicate editing
row - the row index of the cell being drawn. When drawing the header, the value of row is -1
column - the column index of the cell being drawn
Returns:
MViewPane component that is configured to draw the molecule.

setBackgroundColor

protected void setBackgroundColor(javax.swing.JTable table,
                                  boolean isSelected,
                                  boolean hasFocus,
                                  int row,
                                  int column)
Sets the background color for the current cell based on selection. The default implementation sets the same color for the renderer as the colors of the table itself. The method is called by getTableCellRendererComponent(javax.swing.JTable, Object, boolean, boolean, int, int), overwrite to change the default behavior.

Parameters:
table - the JTable that is asking the renderer to draw; can be null
isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
hasFocus - indicates if the cell is focused
row - the row index of the cell being drawn. When drawing the header, the value of row is -1
column - the column index of the cell being drawn

setBorder

protected void setBorder(javax.swing.JTable table,
                         boolean isSelected,
                         boolean hasFocus,
                         int row,
                         int column)
Sets the border for the current cell based on selection. The default implementation sets the default border of the table on the renderer. The method is called by getTableCellRendererComponent(javax.swing.JTable, Object, boolean, boolean, int, int), overwrite to change the default behavior.

Parameters:
table - the JTable that is asking the renderer to draw; can be null
isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
hasFocus - if true, a special border is put on the cell, if the cell can be edited, it is rendered in the color used to indicate editing
row - the row index of the cell being drawn. When drawing the header, the value of row is -1
column - the column index of the cell being drawn