public class MemoryMonitor extends JPanel implements Runnable
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
private static SimpleDateFormat |
clockFormat |
private static DecimalFormat |
fmt
format
|
private JLabel |
label
the label
|
private static long |
lastTimeRanGC
Keep track of the last time we ran the gc and cleared the cache
|
private String |
mbString |
private static double |
MEGABYTE |
private 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 StateManager |
stateManager |
private 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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
MemoryMonitor(StateManager stateManager)
Default constructor.
|
MemoryMonitor(StateManager stateManager,
int percentThreshold,
int percentCancel,
boolean showClock)
Create a new MemoryMonitor.
|
Modifier and Type | Method and Description |
---|---|
private Color |
doColorThing(int percent) |
boolean |
getRunning()
Get whether we are running
|
private String |
getToolTip()
Returns a description of either the clock or memory monitor GUI.
|
private void |
handleMouseEvent(MouseEvent event)
Handle a mouse event
|
static void |
main(String[] args)
Test routine
|
private void |
popupMenu(MouseEvent event)
Popup a menu on an event
|
void |
run()
Run this monitor
|
void |
runGC()
Run the GC and clear the cache
|
void |
setLabelFont(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 long serialVersionUID
private boolean running
private final long sleepInterval
private final int percentThreshold
private int timesAboveThreshold
private final int percentCancel
private boolean triedToCancel
private static DecimalFormat fmt
private static long lastTimeRanGC
private StateManager stateManager
private String memoryString
private boolean showClock
private static SimpleDateFormat clockFormat
private static double MEGABYTE
public MemoryMonitor(StateManager stateManager)
stateManager
- Reference back to application session's
StateManager
. Cannot be null
.public MemoryMonitor(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(MouseEvent event)
event
- the eventprivate void toggleClock()
private String getToolTip()
private void popupMenu(MouseEvent event)
event
- the eventpublic void toggleRunning()
public void setLabelFont(Font f)
f
- the fontpublic void stop()
private void start()
public void runGC()
private void showStats() throws IllegalStateException
IllegalStateException
private Color doColorThing(int percent)
public void setRunning(boolean r)
r
- true if we are runningpublic boolean getRunning()