|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTable
org.salespointframework.desktop.JAbstractTable
public class JAbstractTable
A JTable
that prefers models that are lists of records. A JAbstractTable
always must
be used together with an AbstractTableModel
.
Also JAbstractTable
supports one selection observer which is basically an int value that
will always contain the index of the currently selected record in the table. Setting up such an observer is
quite straightforward:
int[] anSelection = new int[1];
JAbstractTable jat = new JAbstractTable (...);
jat.setSelectionObserver
(anSelection);
To use this observer write code like the following:
... Object oSelectedRecord = ((org.salespointframework.util.swing.AbstractTableModel) jat.getModel()).getRecord (anSelection[0]); if (oSelectedRecord != null) { ... }
Note that although you only use the actual int value, you still have to set up an array of int values. The current selection will always be written to the first element in this array, no matter how long the actual array is.
Note: This class is not meant to be serialized!
AbstractTableModel
,
TableEntryDescriptor
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JTable |
---|
javax.swing.JTable.AccessibleJTable, javax.swing.JTable.DropLocation, javax.swing.JTable.PrintMode |
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 | |
---|---|
private boolean |
allowDrag
|
private boolean |
allowDrop
|
private AbstractTableModel |
atm
The current AbstractTableModel |
private java.awt.Component |
dndPartner
|
private static javax.swing.ImageIcon |
DOWN
Icon "Down" |
private int[] |
m_anSelection
The current selection observer. |
private java.lang.Object[] |
m_aoSelectedColumn
Holds the currently selected Column in Header |
private java.lang.Object |
m_oSelectionLock
The monitor that synchronizes access to the selection observer. |
private MoveAction |
moveAction
|
private static javax.swing.ImageIcon |
UP
Icon "Up" |
Fields inherited from class javax.swing.JTable |
---|
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader |
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 | |
---|---|
JAbstractTable(AbstractTableModel atm)
Construct a new JAbstractTable that is based on an AbstractTableModel . |
Method Summary | |
---|---|
boolean |
acceptDropPartner(java.awt.Component c)
true, if the component accepts this component a drop target. |
boolean |
allowDrag(java.awt.Point point)
if true, drag is allowed at this point |
boolean |
allowDrop(java.lang.Object item,
int count)
if true, drop is allowed for this component |
int |
convertRowIndexToModel(int viewRowIndex)
|
javax.swing.table.DefaultTableCellRenderer |
createHeader()
Creates the TableHeader and enables it to display sorting icons (arrows up and down) |
void |
finishDragOperation(java.lang.Object item,
int count,
java.awt.Component receiver)
finish the drag'n drop operation |
AbstractTableModel |
getAbstractTableModel()
return the AbstractTableModel |
java.awt.Component |
getBoundingComponent()
get component which defines the range of this component. e.g. a JScrollPane |
DnDMotionComponent |
getDnDMotionComponent(java.lang.Object item,
int count)
get the component which is displayed during drag'n drop operation on FormSheet.getDragLayer() |
java.lang.Object |
getDragItem(java.awt.Point point)
get the item at this point, what will be transfered. |
int |
getDragItemIndex(java.awt.Point point)
index of item at this point. |
java.awt.Component |
getDragSourceComponent()
Component which contains the drag items |
boolean |
getMoreDragItems(java.awt.Point point,
java.lang.Object item,
int count,
int additionalCount)
user requests more items. |
void |
initialize()
|
void |
initRenderers()
|
void |
paintHightlightEffect(java.awt.Graphics2D g,
java.awt.Rectangle bounds,
java.awt.Component cmp)
paint drag'n drop highlight effect. drawing takes place on some layer above the standard layer, so the effect can be drawn beyond components bounds |
void |
setAllowDrag(boolean value)
|
void |
setAllowDrop(boolean value)
|
void |
setDnDPartner(java.awt.Component c)
DND methods |
void |
setMoveAction(MoveAction ma)
|
void |
setSelectionObserver(int[] anSelection)
Set a selection observer for this table. |
void |
startDragOperation(java.awt.Point p)
start a drag operation at this point. |
void |
tableChanged(javax.swing.event.TableModelEvent e)
need to reestablish cell renderers |
void |
takeDragItem(java.lang.Object item,
int count)
component should take the transferred item with given count |
Methods inherited from class javax.swing.JTable |
---|
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getUpdateSelectionOnSort, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, print, print, print, print, print, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged |
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, 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, 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 |
Field Detail |
---|
private int[] m_anSelection
private final transient java.lang.Object m_oSelectionLock
private java.lang.Object[] m_aoSelectedColumn
private AbstractTableModel atm
AbstractTableModel
private java.awt.Component dndPartner
private boolean allowDrag
private boolean allowDrop
private MoveAction moveAction
private static final javax.swing.ImageIcon DOWN
private static final javax.swing.ImageIcon UP
Constructor Detail |
---|
public JAbstractTable(AbstractTableModel atm)
AbstractTableModel
.
atm
- the TableModel to be used with this table.Method Detail |
---|
public javax.swing.table.DefaultTableCellRenderer createHeader()
public void initialize()
public void initRenderers()
public void tableChanged(javax.swing.event.TableModelEvent e)
tableChanged
in interface javax.swing.event.TableModelListener
tableChanged
in class javax.swing.JTable
public void setSelectionObserver(int[] anSelection)
anSelection
- the selection observerpublic AbstractTableModel getAbstractTableModel()
AbstractTableModel
public void setDnDPartner(java.awt.Component c)
public void setAllowDrag(boolean value)
public void setAllowDrop(boolean value)
public void setMoveAction(MoveAction ma)
public boolean acceptDropPartner(java.awt.Component c)
DnDComponent
acceptDropPartner
in interface DnDComponent
c
- component
public boolean allowDrag(java.awt.Point point)
DnDComponent
allowDrag
in interface DnDComponent
point
- mouse point in this components coordinate system
public boolean allowDrop(java.lang.Object item, int count)
DnDComponent
allowDrop
in interface DnDComponent
item
- item that requests to be droppedcount
- number of this items
public void finishDragOperation(java.lang.Object item, int count, java.awt.Component receiver)
DnDComponent
finishDragOperation
in interface DnDComponent
item
- item that has been draggedcount
- number of this itemsreceiver
- component which will receive this itemspublic java.lang.Object getDragItem(java.awt.Point point)
DnDComponent
getDragItem
in interface DnDComponent
point
- mouse point in this components coordinate system
public boolean getMoreDragItems(java.awt.Point point, java.lang.Object item, int count, int additionalCount)
DnDComponent
getMoreDragItems
in interface DnDComponent
point
- mouse point in this components coordinate systemitem
- currently transferred itemcount
- current number of itemsadditionalCount
- requested number of items
public void startDragOperation(java.awt.Point p)
DnDComponent
DnDComponent.allowDrag(Point)
is called before and returned true
startDragOperation
in interface DnDComponent
p
- mouse point in this components coordinate systempublic void takeDragItem(java.lang.Object item, int count)
DnDComponent
takeDragItem
in interface DnDComponent
item
- transferred itemcount
- transferred item countpublic DnDMotionComponent getDnDMotionComponent(java.lang.Object item, int count)
DnDComponent
FormSheet.getDragLayer()
getDnDMotionComponent
in interface DnDComponent
item
- item that is transferredcount
- number of transferred items
public java.awt.Component getBoundingComponent()
DnDComponent
JScrollPane
getBoundingComponent
in interface DnDComponent
public java.awt.Component getDragSourceComponent()
DnDComponent
getDragSourceComponent
in interface DnDComponent
public void paintHightlightEffect(java.awt.Graphics2D g, java.awt.Rectangle bounds, java.awt.Component cmp)
DnDComponent
paintHightlightEffect
in interface DnDComponent
g
- Graphics context which is NOT in components coordinate systembounds
- bounds of highlight componentcmp
- highlight componentpublic int getDragItemIndex(java.awt.Point point)
DnDComponent
getDragItemIndex
in interface DnDComponent
point
- mouse point in this components coordinate system
public int convertRowIndexToModel(int viewRowIndex)
convertRowIndexToModel
in class javax.swing.JTable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |