Package com.inductiveautomation.rm.swing
Class RJBrowser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JScrollPane
-
- com.inductiveautomation.rm.swing.RJBrowser
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.ScrollPaneConstants
- Direct Known Subclasses:
KeysBrowser
public class RJBrowser extends javax.swing.JScrollPane
This component displays a hierarchy of data like a JTree, however, it does it with a number of distinct JTables layed out horizontally.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
RJBrowser.BrowserColumnTableModel
An inner class to represent Browser selection.static interface
RJBrowser.BrowserModel<T>
AbstractBrowserModel - A public interface for controlling a browser.-
Nested classes/interfaces inherited from class javax.swing.JScrollPane
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
-
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.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
-
-
Constructor Summary
Constructors Constructor Description RJBrowser()
Creates a new browser.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.swing.JScrollPane
createColumn()
Creates a new browser column.protected javax.swing.JTable
createColumnTable()
Creates a new browser column table.protected javax.swing.table.TableCellRenderer
createTableCellRenderer()
Returns the browser table cell renderer.javax.swing.Icon
getBranchIcon(java.lang.Object anObj)
Returns the icon to indicate branch nodes in a browser (right arrow by default).javax.swing.JTable
getColumn(int anIndex)
Returns the specific column table at the given index.int
getColumnCount()
Returns the number of columns currently in the browser.int
getColumnCountPreferred()
Returns the number of desired columns, based on the currently selected column.RJBrowser.BrowserModel
getModel()
Returns the current browser model.java.lang.String
getPath()
Returns the path constructed by appending the selected row in each column by a dot.java.lang.String
getPath(java.lang.String aSeparator)
Returns the path constructed by appending the selected row in each column by a dot.int
getSelectedColumnIndex()
Returns the selected column index.java.lang.Object
getSelectedItem()
Returns the selected item.javax.swing.table.TableCellRenderer
getTableCellRenderer()
Returns the browser table cell renderer.int
getVisibleColumnCount()
Returns the number of visible columns in the browser.boolean
isSelectedLeaf()
Returns whether selected item is leaf.void
reloadColumns(int aStartIndex)
Reloads columns from given index.void
setBounds(int x, int y, int width, int height)
Overrides setBounds to reset model.void
setBranchIcon(javax.swing.Icon anIcon)
Sets the default icon to indicate branch nodes in a browser.protected void
setColumnCount(int aValue)
Sets the number of columns.void
setModel(RJBrowser.BrowserModel aModel)
Reconfigures browser for given model.protected void
setSelectedColumnIndex(int anIndex)
Sets the selected column index.void
setTableCellRenderer(javax.swing.table.TableCellRenderer aTableCellRenderer)
Sets the browser table cell renderer.void
setVisibleColumnCount(int aValue)
Sets the number of visible columns in the browser.-
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
-
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, 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, 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, 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, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
getModel
public RJBrowser.BrowserModel getModel()
Returns the current browser model.
-
setModel
public void setModel(RJBrowser.BrowserModel aModel)
Reconfigures browser for given model.
-
getPath
public java.lang.String getPath()
Returns the path constructed by appending the selected row in each column by a dot.
-
getPath
public java.lang.String getPath(java.lang.String aSeparator)
Returns the path constructed by appending the selected row in each column by a dot.
-
getSelectedItem
@Nullable public java.lang.Object getSelectedItem()
Returns the selected item.
-
isSelectedLeaf
public boolean isSelectedLeaf()
Returns whether selected item is leaf.
-
getColumnCount
public int getColumnCount()
Returns the number of columns currently in the browser.
-
setColumnCount
protected void setColumnCount(int aValue)
Sets the number of columns.
-
getColumnCountPreferred
public int getColumnCountPreferred()
Returns the number of desired columns, based on the currently selected column.
-
getColumn
public javax.swing.JTable getColumn(int anIndex)
Returns the specific column table at the given index.
-
reloadColumns
public void reloadColumns(int aStartIndex)
Reloads columns from given index.
-
createColumn
protected javax.swing.JScrollPane createColumn()
Creates a new browser column.
-
createColumnTable
protected javax.swing.JTable createColumnTable()
Creates a new browser column table.
-
getVisibleColumnCount
public int getVisibleColumnCount()
Returns the number of visible columns in the browser.
-
setVisibleColumnCount
public void setVisibleColumnCount(int aValue)
Sets the number of visible columns in the browser.
-
getSelectedColumnIndex
public int getSelectedColumnIndex()
Returns the selected column index.
-
setSelectedColumnIndex
protected void setSelectedColumnIndex(int anIndex)
Sets the selected column index.
-
getTableCellRenderer
public javax.swing.table.TableCellRenderer getTableCellRenderer()
Returns the browser table cell renderer.
-
createTableCellRenderer
protected javax.swing.table.TableCellRenderer createTableCellRenderer()
Returns the browser table cell renderer.
-
setTableCellRenderer
public void setTableCellRenderer(javax.swing.table.TableCellRenderer aTableCellRenderer)
Sets the browser table cell renderer.
-
getBranchIcon
public javax.swing.Icon getBranchIcon(java.lang.Object anObj)
Returns the icon to indicate branch nodes in a browser (right arrow by default).
-
setBranchIcon
public void setBranchIcon(javax.swing.Icon anIcon)
Sets the default icon to indicate branch nodes in a browser.
-
setBounds
public void setBounds(int x, int y, int width, int height)
Overrides setBounds to reset model.- Overrides:
setBounds
in classjava.awt.Component
-
-