Package adams.gui.selection
Class AbstractDatabaseSelectionPanel<T>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.selection.AbstractSelectionPanel
-
- adams.gui.selection.AbstractTableBasedSelectionPanel<T>
-
- adams.gui.selection.AbstractDatabaseSelectionPanel<T>
-
- Type Parameters:
T- the type of items to display
- All Implemented Interfaces:
CleanUpHandler,DatabaseConnectionHandler,DatabaseConnectionProvider,DatabaseConnectionUser,DatabaseConnectionChangeListener,ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
AbstractConditionalDatabaseSelectionPanel,AbstractSelectDatabaseFieldPanel
public abstract class AbstractDatabaseSelectionPanel<T> extends AbstractTableBasedSelectionPanel<T> implements DatabaseConnectionChangeListener, DatabaseConnectionHandler
Abstract ancestor for table-based selection panels that use the database as backend.- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.selection.AbstractTableBasedSelectionPanel
AbstractTableBasedSelectionPanel.AbstractSelectionTableModel<T>, AbstractTableBasedSelectionPanel.SelectionPopupMenuSupplier
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected BaseButtonm_ButtonRefreshthe button for refreshing the fields.protected AbstractDatabaseConnectionm_DatabaseConnectionthe database connection in use.protected booleanm_DataDisplayedwhether data has been displayed already.-
Fields inherited from class adams.gui.selection.AbstractTableBasedSelectionPanel
m_Current, m_DoubleClickListeners, m_LabelCounts, m_PanelAdditional, m_PanelAll, m_PanelCounts, m_PopupMenuSupplier, m_SearchPanel, m_Self, m_TableData, m_TableDataModel
-
Fields inherited from class adams.gui.selection.AbstractSelectionPanel
DEFAULT_REFRESH_TIMEOUT
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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
-
-
Constructor Summary
Constructors Constructor Description AbstractDatabaseSelectionPanel()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddRefreshActionListener(ActionListener l)Adds the given listener to the Refresh button.protected voidbeforeShow()Hook method just before the dialog is made visible.voidcleanUp()Cleans up data structures, frees up memory.protected voiddatabaseConnected()Gets called when the database connection gets established.voiddatabaseConnectionStateChanged(DatabaseConnectionChangeEvent e)A change in the database connection occurred.protected abstract voiddatabaseDisconnected()Gets called when the database connection gets disconnected.protected abstract voiddoRefresh()Performs the actual refresh.AbstractDatabaseConnectiongetDatabaseConnection()Returns the currently used database connection object, can be null.protected abstract AbstractDatabaseConnectiongetDefaultDatabaseConnection()Returns the default database connection.protected voidinitGUI()Initializes the GUI elements.protected voidinitialize()For initializing members.protected voidpostRefresh(T[] items)Performs actions after the refresh, like enabling buttons, updating counts and changing mouse cursor back to normal one.protected voidpreRefresh()Performs actions before the refresh, like disabling buttons and changing mouse cursor to waiting one.voidrefresh()Refreshes the items.protected voidrefresh(T[] items)Refreshes the items.abstract voidrefreshIfNecessary()Simulates a click on the refresh button, if necessary.voidremoveRefreshActionListener(ActionListener l)Removes the given listener from the Refresh button.voidsetDatabaseConnection(AbstractDatabaseConnection value)Sets the database connection object to use.voidsetEnabled(boolean value)Sets the enabled state of the panel.voidsetItems(T[] value)Sets the initially selected set names.voidsetVisible(boolean value)closes/shows the dialog.-
Methods inherited from class adams.gui.selection.AbstractTableBasedSelectionPanel
addDoubleClickListener, addListSelectionListener, addToMissing, getCurrentItems, getItem, getItemClass, getItemCount, getItems, getPopupMenuSupplier, getSelectedItemCount, getSelectedRowCount, grabFocus, isCountsVisible, isMultipleSelection, isValidItem, newSearchPanel, newTableModel, notifyDoubleClickListeners, processMissing, removeDoubleClickListener, removeListSelectionListener, scrollIntoView, search, select, setCountsVisible, setDefaultPopupMenuSupplier, setItem, setMultipleSelection, setPopupMenuSupplier, updateCounts
-
Methods inherited from class adams.gui.selection.AbstractSelectionPanel
waitForEnabled, waitForEnabled
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, setLayout, 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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_ButtonRefresh
protected BaseButton m_ButtonRefresh
the button for refreshing the fields.
-
m_DataDisplayed
protected boolean m_DataDisplayed
whether data has been displayed already.
-
m_DatabaseConnection
protected AbstractDatabaseConnection m_DatabaseConnection
the database connection in use.
-
-
Method Detail
-
initialize
protected void initialize()
For initializing members.- Overrides:
initializein classAbstractTableBasedSelectionPanel<T>
-
initGUI
protected void initGUI()
Initializes the GUI elements.- Overrides:
initGUIin classAbstractTableBasedSelectionPanel<T>
-
getDefaultDatabaseConnection
protected abstract AbstractDatabaseConnection getDefaultDatabaseConnection()
Returns the default database connection.- Returns:
- the default connection
-
setEnabled
public void setEnabled(boolean value)
Sets the enabled state of the panel.- Overrides:
setEnabledin classAbstractTableBasedSelectionPanel<T>- Parameters:
value- if true then the components will be enabled
-
refreshIfNecessary
public abstract void refreshIfNecessary()
Simulates a click on the refresh button, if necessary.- See Also:
refresh()
-
preRefresh
protected void preRefresh()
Performs actions before the refresh, like disabling buttons and changing mouse cursor to waiting one.
-
doRefresh
protected abstract void doRefresh()
Performs the actual refresh.
-
postRefresh
protected void postRefresh(T[] items)
Performs actions after the refresh, like enabling buttons, updating counts and changing mouse cursor back to normal one.
-
refresh
public void refresh()
Refreshes the items.
-
refresh
protected void refresh(T[] items)
Refreshes the items.
-
setItems
public void setItems(T[] value)
Sets the initially selected set names.- Overrides:
setItemsin classAbstractTableBasedSelectionPanel<T>- Parameters:
value- the set names to select
-
setVisible
public void setVisible(boolean value)
closes/shows the dialog.- Overrides:
setVisiblein classBasePanel- Parameters:
value- if true then display the dialog, otherwise close it
-
addRefreshActionListener
public void addRefreshActionListener(ActionListener l)
Adds the given listener to the Refresh button.- Parameters:
l- the listener to add
-
removeRefreshActionListener
public void removeRefreshActionListener(ActionListener l)
Removes the given listener from the Refresh button.- Parameters:
l- the listener to remove
-
databaseConnected
protected void databaseConnected()
Gets called when the database connection gets established.
-
databaseDisconnected
protected abstract void databaseDisconnected()
Gets called when the database connection gets disconnected.
-
databaseConnectionStateChanged
public void databaseConnectionStateChanged(DatabaseConnectionChangeEvent e)
A change in the database connection occurred.- Specified by:
databaseConnectionStateChangedin interfaceDatabaseConnectionChangeListener- Parameters:
e- the event
-
getDatabaseConnection
public AbstractDatabaseConnection getDatabaseConnection()
Returns the currently used database connection object, can be null.- Specified by:
getDatabaseConnectionin interfaceDatabaseConnectionProvider- Returns:
- the current object
-
setDatabaseConnection
public void setDatabaseConnection(AbstractDatabaseConnection value)
Sets the database connection object to use.- Specified by:
setDatabaseConnectionin interfaceDatabaseConnectionHandler- Parameters:
value- the object to use
-
beforeShow
protected void beforeShow()
Hook method just before the dialog is made visible.- Overrides:
beforeShowin classAbstractTableBasedSelectionPanel<T>
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUpin interfaceCleanUpHandler- Overrides:
cleanUpin classAbstractTableBasedSelectionPanel<T>
-
-