public class BeanTable<T>
extends javax.swing.JPanel
static public String editableProperties() { return "ID serverName active writeDirectory"; }or as an instance method with a no parameter constructor
MyClass() {} public String editableProperties() { return "ID serverName active writeDirectory"; }You may hide properties by listing them in a static method hiddenProperties() in the bean, eg :
static public String hiddenProperties() { return "hideThisProperty DDDirectory"; }* or as an instance method with a no parameter constructor
MyClass() {} public String hiddenProperties() { return "ID serverName active writeDirectory"; }The data can be made persistent through a PreferencesExt store. The width and order of the columns is persistent. The javabean class may add or delete properties, and the stored data will be reasonably intact.
Modifier and Type | Class and Description |
---|---|
static class |
BeanTable.PropertyCol
Should be private.
|
protected class |
BeanTable.TableBeanModel
Does the reflection on the bean objects
|
protected class |
BeanTable.TableBeanModelInfo |
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected java.lang.Class<T> |
beanClass |
protected java.util.ArrayList<T> |
beans |
protected boolean |
debug |
protected boolean |
debugBean |
protected boolean |
debugSelected |
protected boolean |
debugStore |
protected T |
innerbean |
protected javax.swing.JTable |
jtable |
protected BeanTable.TableBeanModel |
model |
protected javax.swing.JScrollPane |
scrollPane |
protected PreferencesExt |
store |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
BeanTable(java.lang.Class<T> bc,
PreferencesExt pstore,
boolean canAddDelete) |
BeanTable(java.lang.Class<T> bc,
PreferencesExt pstore,
boolean canAddDelete,
java.lang.String header,
java.lang.String tooltip,
T bean)
Constructor.
|
BeanTable(java.lang.Class<T> bc,
PreferencesExt pstore,
java.lang.String header,
java.lang.String tooltip,
java.beans.BeanInfo info) |
Modifier and Type | Method and Description |
---|---|
void |
addBean(T bean) |
void |
addBeans(java.util.List<T> newBeans) |
void |
addListSelectionListener(javax.swing.event.ListSelectionListener l)
Add listener: ListSelectionEvent sent when a new row is selected
|
void |
clearBeans() |
void |
clearSelectedCells()
Set the currently selected cells (0, false or null).
|
void |
clearSelection() |
void |
fireBeanDataChanged(T bean)
Notifies the TableModel that the data in the specified bean has changed.
|
java.util.List<T> |
getBeans() |
javax.swing.JTable |
getJTable() |
T |
getSelectedBean()
Get the currently selected bean, or null if none selected.
|
java.util.List<T> |
getSelectedBeans()
Get the currently selected beans.
|
java.util.ArrayList<java.lang.Object> |
getSelectedCells()
Get the currently selected cells.
|
java.lang.String |
getToolTipText(java.awt.event.MouseEvent event) |
void |
refresh() |
void |
removeListSelectionListener(javax.swing.event.ListSelectionListener l)
Remove listener
|
protected void |
restoreState()
Restore state from PreferencesExt
|
void |
saveState(boolean saveData)
Save state to the PreferencesExt.
|
void |
setBeans(java.util.List<T> beans) |
void |
setColumnSelectionAllowed(boolean b)
Set the ColumnSelection is allowed (default false)
|
void |
setFontSize(int size) |
void |
setHeader(java.lang.String header) |
void |
setProperty(java.lang.String propertyName,
java.lang.String displayName,
java.lang.String toolTipText) |
void |
setPropertyEditable(java.lang.String propertyName,
boolean isHidden) |
void |
setPropertyHidden(java.lang.String propertyName,
boolean isHidden) |
void |
setSelectedBean(T bean)
Set which row is selected.
|
void |
setSelectedBeans(java.util.List<T> want)
Set which rows are selected.
|
void |
setSelectionMode(int mode)
Set the selection mode on the JTable
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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
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, setLayout, transferFocusDownCycle, validate, validateTree
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, 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, transferFocusBackward, transferFocusUpCycle
protected java.lang.Class<T> beanClass
protected T innerbean
protected PreferencesExt store
protected javax.swing.JTable jtable
protected javax.swing.JScrollPane scrollPane
protected java.util.ArrayList<T> beans
protected BeanTable.TableBeanModel model
protected boolean debug
protected boolean debugStore
protected boolean debugBean
protected boolean debugSelected
public BeanTable(java.lang.Class<T> bc, PreferencesExt pstore, boolean canAddDelete)
public BeanTable(java.lang.Class<T> bc, PreferencesExt pstore, java.lang.String header, java.lang.String tooltip, java.beans.BeanInfo info)
public BeanTable(java.lang.Class<T> bc, PreferencesExt pstore, boolean canAddDelete, java.lang.String header, java.lang.String tooltip, T bean)
bc
- JavaBean classpstore
- store data in this PreferencesExt store.canAddDelete
- allow changes to the jtable - adds a New and Delete button to bottom panelheader
- optional header labeltooltip
- optional tooltip labelbean
- needed for inner classes to call reflected methods onpublic void setHeader(java.lang.String header)
public java.lang.String getToolTipText(java.awt.event.MouseEvent event)
getToolTipText
in class javax.swing.JComponent
public void setProperty(java.lang.String propertyName, java.lang.String displayName, java.lang.String toolTipText)
public void setPropertyEditable(java.lang.String propertyName, boolean isHidden)
public void setPropertyHidden(java.lang.String propertyName, boolean isHidden)
public void addListSelectionListener(javax.swing.event.ListSelectionListener l)
public void removeListSelectionListener(javax.swing.event.ListSelectionListener l)
@Nullable public T getSelectedBean()
public java.util.List<T> getSelectedBeans()
setSelectionMode(int)
public java.util.ArrayList<java.lang.Object> getSelectedCells()
setSelectionMode(int).
public void clearSelectedCells()
public void addBean(T bean)
public void addBeans(java.util.List<T> newBeans)
public void setBeans(java.util.List<T> beans)
public void clearBeans()
public java.util.List<T> getBeans()
public javax.swing.JTable getJTable()
public void setFontSize(int size)
public void setSelectionMode(int mode)
mode
- : JTable.setSelectionModeJTable.setSelectionMode(int)
public void setSelectedBean(T bean)
bean
- select this one; must be in the list.public void clearSelection()
public void setSelectedBeans(java.util.List<T> want)
want
- select thesepublic void refresh()
public void setColumnSelectionAllowed(boolean b)
b
- allowed or notpublic void saveState(boolean saveData)
public void fireBeanDataChanged(T bean)
bean
- a bean that has changed.protected void restoreState()