public class BeanTable<T> extends 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 |
JPanel.AccessibleJPanelJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description |
|---|---|
protected Class<T> |
beanClass |
protected ArrayList<T> |
beans |
protected boolean |
debug |
protected boolean |
debugBean |
protected boolean |
debugSelected |
protected boolean |
debugStore |
protected T |
innerbean |
protected JTable |
jtable |
protected BeanTable.TableBeanModel |
model |
protected JScrollPane |
scrollPane |
protected PreferencesExt |
store |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
BeanTable(Class<T> bc,
PreferencesExt pstore,
boolean canAddDelete) |
BeanTable(Class<T> bc,
PreferencesExt pstore,
boolean canAddDelete,
String header,
String tooltip,
T bean)
Constructor.
|
BeanTable(Class<T> bc,
PreferencesExt pstore,
String header,
String tooltip,
BeanInfo info) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBean(T bean) |
void |
addBeans(List<T> newBeans) |
void |
addListSelectionListener(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.
|
List<T> |
getBeans() |
JTable |
getJTable() |
T |
getSelectedBean()
Get the currently selected bean, or null if none selected.
|
List<T> |
getSelectedBeans()
Get the currently selected beans.
|
ArrayList<Object> |
getSelectedCells()
Get the currently selected cells.
|
String |
getToolTipText(MouseEvent event) |
void |
refresh() |
void |
removeListSelectionListener(ListSelectionListener l)
Remove listener
|
protected void |
restoreState()
Restore state from PreferencesExt
|
void |
saveState(boolean saveData)
Save state to the PreferencesExt.
|
void |
setBeans(List<T> beans) |
void |
setColumnSelectionAllowed(boolean b)
Set the ColumnSelection is allowed (default false)
|
void |
setFontSize(int size) |
void |
setHeader(String header) |
void |
setProperty(String propertyName,
String displayName,
String toolTipText) |
void |
setPropertyEditable(String propertyName,
boolean isHidden) |
void |
setPropertyHidden(String propertyName,
boolean isHidden) |
void |
setSelectedBean(T bean)
Set which row is selected.
|
void |
setSelectedBeans(List<T> want)
Set which rows are selected.
|
void |
setSelectionMode(int mode)
Set the selection mode on the JTable
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCycleprotected T innerbean
protected PreferencesExt store
protected JTable jtable
protected JScrollPane scrollPane
protected BeanTable.TableBeanModel model
protected boolean debug
protected boolean debugStore
protected boolean debugBean
protected boolean debugSelected
public BeanTable(Class<T> bc, PreferencesExt pstore, boolean canAddDelete)
public BeanTable(Class<T> bc, PreferencesExt pstore, String header, String tooltip, BeanInfo info)
public BeanTable(Class<T> bc, PreferencesExt pstore, boolean canAddDelete, String header, 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(String header)
public String getToolTipText(MouseEvent event)
getToolTipText in class JComponentpublic void setPropertyEditable(String propertyName, boolean isHidden)
public void setPropertyHidden(String propertyName, boolean isHidden)
public void addListSelectionListener(ListSelectionListener l)
public void removeListSelectionListener(ListSelectionListener l)
@Nullable public T getSelectedBean()
public List<T> getSelectedBeans()
setSelectionMode(int)public ArrayList<Object> getSelectedCells()
setSelectionMode(int).public void clearSelectedCells()
public void addBean(T bean)
public void clearBeans()
public 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(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()