public class MemoryMonitor extends javax.swing.JPanel implements java.lang.Runnable
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private static java.text.SimpleDateFormat |
clockFormat |
private static java.text.DecimalFormat |
fmt
format
|
private javax.swing.JLabel |
label
the label
|
private static long |
lastTimeRanGC
Keep track of the last time we ran the gc and cleared the cache
|
private static org.slf4j.Logger |
logger |
private java.lang.String |
mbString |
private static double |
MEGABYTE |
private java.lang.String |
memoryString |
private int |
percentCancel
percent cancel
|
private int |
percentThreshold
percent threshold
|
private boolean |
running
flag for running
|
private static long |
serialVersionUID |
private boolean |
showClock |
private long |
sleepInterval
sleep interval
|
private ucar.unidata.idv.StateManager |
stateManager |
private java.lang.Thread |
thread
a thread
|
private int |
timesAboveThreshold
number of times above the threshold
|
private boolean |
triedToCancel
have we tried to cancel the load yet
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
MemoryMonitor(ucar.unidata.idv.StateManager stateManager)
Default constructor.
|
MemoryMonitor(ucar.unidata.idv.StateManager stateManager,
int percentThreshold,
int percentCancel,
boolean showClock)
Create a new MemoryMonitor.
|
Modifier and Type | Method and Description |
---|---|
private java.awt.Color |
doColorThing(int percent) |
boolean |
getRunning()
Get whether we are running
|
private java.lang.String |
getToolTip()
Returns a description of either the clock or memory monitor GUI.
|
private void |
handleMouseEvent(java.awt.event.MouseEvent event)
Handle a mouse event
|
static void |
main(java.lang.String[] args)
Test routine
|
private void |
popupMenu(java.awt.event.MouseEvent event)
Popup a menu on an event
|
void |
run()
Run this monitor
|
void |
runGC()
Run the GC and clear the cache
|
void |
setLabelFont(java.awt.Font f)
Set the label font
|
void |
setRunning(boolean r)
Set whether we are running
|
private void |
showStats()
Show the statistics.
|
private void |
start()
Start running
|
void |
stop()
Stop running
|
private void |
toggleClock() |
void |
toggleRunning()
Toggle running
|
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, 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
private static final org.slf4j.Logger logger
private static final long serialVersionUID
private boolean running
private final long sleepInterval
private java.lang.Thread thread
private final int percentThreshold
private int timesAboveThreshold
private final int percentCancel
private boolean triedToCancel
private static java.text.DecimalFormat fmt
private javax.swing.JLabel label
private static long lastTimeRanGC
private ucar.unidata.idv.StateManager stateManager
private java.lang.String memoryString
private java.lang.String mbString
private boolean showClock
private static java.text.SimpleDateFormat clockFormat
private static double MEGABYTE
public MemoryMonitor(ucar.unidata.idv.StateManager stateManager)
stateManager
- Reference back to application session's
StateManager
. Cannot be null
.public MemoryMonitor(ucar.unidata.idv.StateManager stateManager, int percentThreshold, int percentCancel, boolean showClock)
stateManager
- Reference back to application session's
StateManager
. Cannot be null
.percentThreshold
- Percentage of use memory before garbage
collection is run.percentCancel
- Not currently in use.showClock
- Whether or not the clock should be shown instead of
the memory monitor widget.private void handleMouseEvent(java.awt.event.MouseEvent event)
event
- the eventprivate void toggleClock()
private java.lang.String getToolTip()
private void popupMenu(java.awt.event.MouseEvent event)
event
- the eventpublic void toggleRunning()
public void setLabelFont(java.awt.Font f)
f
- the fontpublic void stop()
private void start()
public void runGC()
private void showStats() throws java.lang.IllegalStateException
java.lang.IllegalStateException
private java.awt.Color doColorThing(int percent)
public void run()
run
in interface java.lang.Runnable
public void setRunning(boolean r)
r
- true if we are runningpublic boolean getRunning()
public static void main(java.lang.String[] args)
args
- not used