Package org.ka2ddo.yaac.gui.filter
Class DestinationFilter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.ka2ddo.yaac.gui.filter.DestinationFilter
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Closeable
,Serializable
,AutoCloseable
,Accessible
,TableModel
,DestinationListener
,FilterChangeListener
,SaveableFilter
,FastComparableTableModel
public class DestinationFilter
extends JPanel
implements TableModel, DestinationListener, SaveableFilter, Closeable, FilterChangeListener, FastComparableTableModel
This filter selects messages based on their destination AX.25 address. This is
used to support altnets.
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Nested Class Summary
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 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
ConstructorDescriptionDestinationFilter
(DestinationFilter filter) Create a GUI instance for controlling a Destination filter. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener to the list that is notified each time a change to the data model occurs.void
close()
Closes this stream and releases any system resources associated with it.int
compareRows
(int rowIndex1, int rowIndex2, int columnIndex) Compare the selected column of the two rows.void
destinationAdded
(String destination, int index) Inform listener that a new destination (tocall) has been registered.void
destinationUsedAgain
(String destination) Inform listener that an already-known destination (tocall) has updated its statistics count.void
filterSettingsChanged
(Filter changedFilter, boolean changedByUser) Called when the specified Filter's matching criteria have been changed.Class<?>
getColumnClass
(int columnIndex) Returns the most specific superclass for all the cell values in the column.int
Returns the number of columns in the model.getColumnName
(int columnIndex) Returns the name of the column atcolumnIndex
.Specify the preferred filetype for files saving this Filter's data set.int
Returns the number of rows in the model.getValueAt
(int rowIndex, int columnIndex) Returns the value for the cell atcolumnIndex
androwIndex
.boolean
isCellEditable
(int rowIndex, int columnIndex) Returns true if the cell atrowIndex
andcolumnIndex
is editable.boolean
Indicate if this Filter is saveable.void
Removes a listener from the list that is notified each time a change to the data model occurs.void
Save the contents of the Filter to the specified DataOutput object.void
setValueAt
(Object aValue, int rowIndex, int columnIndex) Sets the value in the cell atcolumnIndex
androwIndex
toaValue
.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, 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
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
-
Constructor Details
-
DestinationFilter
Create a GUI instance for controlling a Destination filter.- Parameters:
filter
- org.ka2ddo.yaac.filter.DestinationFilter to control
-
-
Method Details
-
addTableModelListener
Adds a listener to the list that is notified each time a change to the data model occurs.- Specified by:
addTableModelListener
in interfaceTableModel
- Parameters:
l
- the TableModelListener
-
getColumnClass
Returns the most specific superclass for all the cell values in the column. This is used by theJTable
to set up a default renderer and editor for the column.- Specified by:
getColumnClass
in interfaceTableModel
- Parameters:
columnIndex
- the index of the column- Returns:
- the common ancestor class of the object values in the model.
-
getColumnCount
public int getColumnCount()Returns the number of columns in the model. AJTable
uses this method to determine how many columns it should create and display by default.- Specified by:
getColumnCount
in interfaceTableModel
- Returns:
- the number of columns in the model
- See Also:
-
getColumnName
Returns the name of the column atcolumnIndex
. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.- Specified by:
getColumnName
in interfaceTableModel
- Parameters:
columnIndex
- the index of the column- Returns:
- the name of the column
-
getRowCount
public int getRowCount()Returns the number of rows in the model. AJTable
uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.- Specified by:
getRowCount
in interfaceTableModel
- Returns:
- the number of rows in the model
- See Also:
-
getValueAt
Returns the value for the cell atcolumnIndex
androwIndex
.- Specified by:
getValueAt
in interfaceTableModel
- Parameters:
rowIndex
- the row whose value is to be queriedcolumnIndex
- the column whose value is to be queried- Returns:
- the value Object at the specified cell
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex) Returns true if the cell atrowIndex
andcolumnIndex
is editable. Otherwise,setValueAt
on the cell will not change the value of that cell.- Specified by:
isCellEditable
in interfaceTableModel
- Parameters:
rowIndex
- the row whose value to be queriedcolumnIndex
- the column whose value to be queried- Returns:
- true if the cell is editable
- See Also:
-
removeTableModelListener
Removes a listener from the list that is notified each time a change to the data model occurs.- Specified by:
removeTableModelListener
in interfaceTableModel
- Parameters:
l
- the TableModelListener
-
setValueAt
Sets the value in the cell atcolumnIndex
androwIndex
toaValue
.- Specified by:
setValueAt
in interfaceTableModel
- Parameters:
aValue
- the new valuerowIndex
- the row whose value is to be changedcolumnIndex
- the column whose value is to be changed- See Also:
-
compareRows
public int compareRows(int rowIndex1, int rowIndex2, int columnIndex) Compare the selected column of the two rows.- Specified by:
compareRows
in interfaceFastComparableTableModel
- Parameters:
rowIndex1
- zero-based model row index of first row to comparerowIndex2
- zero-based model row index of second row to comparecolumnIndex
- zero-based model column index of column to compare- Returns:
- +1 if the 1st row's column is after the 2nd row's column, -1 if before, or 0 if equal precedence
-
destinationAdded
Inform listener that a new destination (tocall) has been registered.- Specified by:
destinationAdded
in interfaceDestinationListener
- Parameters:
destination
- String callsign or tocall of the AX.25 destination (or original destination if Tx I-gated)index
- zero-based index of new entry in the list of destinations
-
destinationUsedAgain
Inform listener that an already-known destination (tocall) has updated its statistics count.- Specified by:
destinationUsedAgain
in interfaceDestinationListener
- Parameters:
destination
- String callsign or tocall of the AX.25 destination (or original destination if Tx I-gated)
-
filterSettingsChanged
Called when the specified Filter's matching criteria have been changed.- Specified by:
filterSettingsChanged
in interfaceFilterChangeListener
- Parameters:
changedFilter
- Filter that has changedchangedByUser
- boolean true if change was manually made by user, false if change was made automatically by dynamic filter logic
-
isSaveable
public boolean isSaveable()Indicate if this Filter is saveable. Meant for use by combining filters whose sub-Filters may not all be savable.- Specified by:
isSaveable
in interfaceSaveableFilter
- Returns:
- boolean true if the current Filter can be saved
-
getPreferredFileType
Specify the preferred filetype for files saving this Filter's data set.- Specified by:
getPreferredFileType
in interfaceSaveableFilter
- Returns:
- FileNameExtensionFilter that will be used in the saving JFileChooser
-
saveFilterToFile
Save the contents of the Filter to the specified DataOutput object.- Specified by:
saveFilterToFile
in interfaceSaveableFilter
- Parameters:
out
- DataOutput implementing object for writing the file contents in its preferred format- Throws:
IOException
- if the write failed for some reason
-
close
Closes this stream and releases any system resources associated with it. If the stream is already closed then invoking this method has no effect.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if an I/O error occurs
-