gov.nih.mipav.view
Class MipavUtil

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by gov.nih.mipav.view.MipavUtil
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class MipavUtil
extends JComponent

A collection of static methods and frequently used and useful constants are in this utility class.

See Also:
Serialized Form

Nested Class Summary
static class MipavUtil.ActionAdapter
          Static abstract class similar to mouseAdapter to allow the catching of actionevents from components without having to implement ActionListener.
 
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
static Cursor addPointCursor
          Standard cursor: add a point (hand).
static Font arial13
          A 13 point, plain, arial font.
static Font arial13B
          A 13 point, bold, arial font.
static Cursor blankCursor
          Custom cursor: no cursor.
static Font courier10
          A 10 point, plain, courier font.
static Font courier12
          A 12 point, plain, courier font.
static Font courier12B
          A 12 point, bold, courier font.
static Font courier13
          A 13 point, plain, courier font.
static Font courier13B
          A 13 point, bold, courier font.
static Cursor crosshairCursor
          A crosshair cursor.
static int DEFAULT_ICON_HEIGHT
          DOCUMENT ME!
static int DEFAULT_ICON_WIDTH
          DOCUMENT ME!
static Font defaultAcceleratorFont
          DOCUMENT ME!
static Dimension defaultButtonSize
          The default size that all buttons should be.
static Cursor defaultCursor
          Standard cursor: default.
static Font defaultMenuFont
          DOCUMENT ME!
static Font font10
          A 10 point, plain, serif font.
static Font font12
          A 12 point, plain, serif font.
static Font font12B
          A 12 point, bold, serif font.
static Font font12I
          A 12 point, italic, serif font.
static Font font13
          A 13 point, plain, serif font.
static Font font13B
          A 13 point, bold, serif font.
static Font font13I
          A 13 point, italic, serif font.
static Font font14
          A 14 point, plain, serif font.
static Font font14B
          A 14 point, bold, serif font.
static Font font14I
          A 14 point, italic, serif font.
static Font font16B
          A 16 point, bold, serif font.
static Font font18B
          A 18 point, bold, serif font.
static int[] functionKeys
          DOCUMENT ME!
static Cursor handCursor
          A hand cursor.
static Cursor magnifyCursor
          DOCUMENT ME!
static Cursor magRegionCursor
          Custom cursor: magnify region.
static int MENU_Y_PADDING
          DOCUMENT ME!
static Cursor moveCursor
          A move cursor.
static Cursor pointCursor
          Standard cursor: point (resize, NE).
static Cursor probeCursor
          DOCUMENT ME!
static Cursor quickLUTcursor
          Custom cursor: quick LUT.
static Cursor resizeCursor
          A resizing cursor.
static Cursor smallPointerCursor
          Custom cursor: small pointer.
static Cursor textCursor
          Cursor for doing annotations.
static Cursor unmagnifyCursor
          DOCUMENT ME!
protected static String version
          The current version number, coded as a String, read and then cached by getVersion().
static Cursor waitCursor
          Standard cursor: wait.
static Cursor wandCursor
          Standard cursor: wand (hand).
static Dimension widenButtonSize
          The horizontally widen size that all buttons should be.
static Cursor winLevelCursor
          DOCUMENT ME!
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
MipavUtil()
           
 
Method Summary
static void buildCursors()
          DOCUMENT ME!
static void buildDefaultFonts()
          This should only be called once when MIPAV starts, and then if the user changes the font options through Program Options to rebuild the fonts used in GUI building.
static TitledBorder buildTitledBorder(String title)
          Builds a titled border with the given title, an etched border, and the proper font and color.
static void centerInComponent(Component parentComponent, JDialog dialog)
          Sets the location of the dialog to the center of the parent component.
static void centerInWindow(Window parentWindow, Window childWindow)
          Sets the location of the window to the center of the parent window.
static void centerOnScreen(Window window)
          Sets the location of the window to the center of the screen.
static String convertToFileURL(String filename)
          Convert from a filename to a file URL.
static void displayError(String error)
          Pops up a message dialog to display an error.
static void displayInfo(String info)
          Pops up a message dialog to display information.
static void displayWarning(String warning)
          Pops up a message dialog to display a warning.
static Color extractColor(String preferencesColorString)
          Makes a series of ints, corresponding to a color string stored in the Mipav.preferences file which looks like a color string defined in web pages ("RRGGBB"). and returns a java.awt.Color based on those values.
static boolean getBoolean(StringTokenizer st)
          Get a boolean value from a string tokenizer.
static float getFloat(StringTokenizer st)
          Get a float value from a string tokenizer.
static ImageIcon getIcon(String name)
          Finds the icon of the specified name.
static Image getIconImage(String name)
          Finds the image of the specified name.
static int getInt(StringTokenizer st)
          Get an integer value from a string tokenizer.
static String getVersion()
          Gets the MIPAV Version number from the about.txt file.
static String makeColorString(Color aColor)
          Takes a java.awt.Color and forms a string representing its color. the string appears as 6 hex digits and looks like the color coding used in html files, as in: "RRGGBB".
static String makeFloatString(float number, int decPts)
          Makes a string of a float with a specific number of decimal points.
static String makeHTMLFontString(Color color, String name, int size, int style, boolean doU, String text)
          DOCUMENT ME!
static void makeNumericsOnly(JTextField txt, boolean allowFloatingPoint)
          Takes a text field and forces the text field to accept numbers, backspace and delete-key entries.
static void makeNumericsOnly(JTextField txt, boolean allowFloatingPoint, boolean allowNegativeNumbers)
          Takes a txt field, and forces the textfield to accept numbers, backspace and delete-key entries.
static void setComponentsEnabled(Container container, boolean enabled)
          DOCUMENT ME!
static void setFonts(Component[] comp)
          DOCUMENT ME!
static void showHelp(String ID)
          Pops up the MIPAV help for a given help ID.
static boolean testParameter(String str, double minValue, double maxValue)
          Tests that the entered parameter is in range.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultMenuFont

public static Font defaultMenuFont
DOCUMENT ME!


defaultAcceleratorFont

public static Font defaultAcceleratorFont
DOCUMENT ME!


font10

public static Font font10
A 10 point, plain, serif font.


font12

public static Font font12
A 12 point, plain, serif font.


font12B

public static Font font12B
A 12 point, bold, serif font.


font12I

public static Font font12I
A 12 point, italic, serif font.


font13

public static Font font13
A 13 point, plain, serif font.


font13B

public static Font font13B
A 13 point, bold, serif font.


font13I

public static Font font13I
A 13 point, italic, serif font.


font14

public static Font font14
A 14 point, plain, serif font.


font14B

public static Font font14B
A 14 point, bold, serif font.


font14I

public static Font font14I
A 14 point, italic, serif font.


font16B

public static Font font16B
A 16 point, bold, serif font.


font18B

public static Font font18B
A 18 point, bold, serif font.


courier10

public static Font courier10
A 10 point, plain, courier font.


courier12

public static Font courier12
A 12 point, plain, courier font.


courier12B

public static Font courier12B
A 12 point, bold, courier font.


courier13

public static Font courier13
A 13 point, plain, courier font.


courier13B

public static Font courier13B
A 13 point, bold, courier font.


arial13

public static Font arial13
A 13 point, plain, arial font.


arial13B

public static Font arial13B
A 13 point, bold, arial font.


defaultCursor

public static final Cursor defaultCursor
Standard cursor: default.


crosshairCursor

public static final Cursor crosshairCursor
A crosshair cursor.


moveCursor

public static final Cursor moveCursor
A move cursor.


pointCursor

public static final Cursor pointCursor
Standard cursor: point (resize, NE).


resizeCursor

public static final Cursor resizeCursor
A resizing cursor.


handCursor

public static final Cursor handCursor
A hand cursor.


blankCursor

public static Cursor blankCursor
Custom cursor: no cursor.


magRegionCursor

public static Cursor magRegionCursor
Custom cursor: magnify region.


addPointCursor

public static final Cursor addPointCursor
Standard cursor: add a point (hand).


smallPointerCursor

public static Cursor smallPointerCursor
Custom cursor: small pointer.


probeCursor

public static Cursor probeCursor
DOCUMENT ME!


magnifyCursor

public static Cursor magnifyCursor
DOCUMENT ME!


unmagnifyCursor

public static Cursor unmagnifyCursor
DOCUMENT ME!


quickLUTcursor

public static Cursor quickLUTcursor
Custom cursor: quick LUT.


textCursor

public static final Cursor textCursor
Cursor for doing annotations.


waitCursor

public static final Cursor waitCursor
Standard cursor: wait.


wandCursor

public static final Cursor wandCursor
Standard cursor: wand (hand).


winLevelCursor

public static Cursor winLevelCursor
DOCUMENT ME!


version

protected static String version
The current version number, coded as a String, read and then cached by getVersion().


defaultButtonSize

public static final Dimension defaultButtonSize
The default size that all buttons should be.


widenButtonSize

public static final Dimension widenButtonSize
The horizontally widen size that all buttons should be.


DEFAULT_ICON_WIDTH

public static final int DEFAULT_ICON_WIDTH
DOCUMENT ME!

See Also:
Constant Field Values

DEFAULT_ICON_HEIGHT

public static final int DEFAULT_ICON_HEIGHT
DOCUMENT ME!

See Also:
Constant Field Values

MENU_Y_PADDING

public static int MENU_Y_PADDING
DOCUMENT ME!


functionKeys

public static final int[] functionKeys
DOCUMENT ME!

Constructor Detail

MipavUtil

public MipavUtil()
Method Detail

buildCursors

public static void buildCursors()
DOCUMENT ME!


buildDefaultFonts

public static void buildDefaultFonts()
This should only be called once when MIPAV starts, and then if the user changes the font options through Program Options to rebuild the fonts used in GUI building.


buildTitledBorder

public static final TitledBorder buildTitledBorder(String title)
Builds a titled border with the given title, an etched border, and the proper font and color.

Parameters:
title - Title of the border
Returns:
The titled border.

centerInComponent

public static void centerInComponent(Component parentComponent,
                                     JDialog dialog)
Sets the location of the dialog to the center of the parent component.

Parameters:
parentComponent - the parent component.
dialog - the dialog which is to be displayed.

centerInWindow

public static void centerInWindow(Window parentWindow,
                                  Window childWindow)
Sets the location of the window to the center of the parent window.

Parameters:
parentWindow - the window where the child will be centered on.
childWindow - the window that is to be displayed centered on the parent window

centerOnScreen

public static void centerOnScreen(Window window)
Sets the location of the window to the center of the screen.

Parameters:
window - Window that is to be displayed

convertToFileURL

public static final String convertToFileURL(String filename)
                                     throws MalformedURLException
Convert from a filename to a file URL.

Parameters:
filename - the file name to convert
Returns:
the url for the file in string form
Throws:
MalformedURLException - if there is a problem converting the file name

displayError

public static void displayError(String error)
Pops up a message dialog to display an error.

Use when an operation has failed, preventing some operation critical for MIPAV to continue running normally or an operation can neither be completed nor its errors accomodated.

Parameters:
error - the message text of the error
See Also:
JOptionPane.showMessageDialog(java.awt.Component, java.lang.Object, java.lang.String, int, javax.swing.Icon)

displayInfo

public static void displayInfo(String info)
Pops up a message dialog to display information.

Use for brief notices such as completion of an operation or where to find logging information. It is not meant to notify a user of an error in processing.

Parameters:
info - the information string

displayWarning

public static void displayWarning(String warning)
Pops up a message dialog to display a warning.

Use when an operation has failed, but the can be completed but the output may display inaccuratly; ie., errors can be accomodated.

Parameters:
warning - the message text of the warning.

extractColor

public static Color extractColor(String preferencesColorString)
Makes a series of ints, corresponding to a color string stored in the Mipav.preferences file which looks like a color string defined in web pages ("RRGGBB"). and returns a java.awt.Color based on those values.

Call with extractColor(Preferences.getProperty("OneOfThoseColors"));

if preferencesColorString is null, or incomplete, returns black.

Parameters:
preferencesColorString - -- this class pre-arranges the colors to be
Returns:
java.awt.Color
See Also:
Color

getBoolean

public static final boolean getBoolean(StringTokenizer st)
                                throws TokenizerException
Get a boolean value from a string tokenizer.

Parameters:
st - the tokenizer to get the boolean from
Returns:
true if the token equals "true" without regard to case
Throws:
TokenizerException - thrown if the string retrieved is not a boolean value

getFloat

public static final float getFloat(StringTokenizer st)
                            throws TokenizerException
Get a float value from a string tokenizer.

Parameters:
st - the tokenizer to get the float from
Returns:
a float value
Throws:
TokenizerException - thrown if the string retrieved is not a float value

getIcon

public static ImageIcon getIcon(String name)
Finds the icon of the specified name. Uses the PlaceHolder class, which is in the same directory as the icons, to locate the icons.

Parameters:
name - name of the icon
Returns:
the icon

getIconImage

public static Image getIconImage(String name)
                          throws FileNotFoundException
Finds the image of the specified name. Uses the PlaceHolder class, which is in the same directory as the icons images, to locate the images.

Parameters:
name - name of the image
Returns:
the image
Throws:
FileNotFoundException - if we can't find the icon file

getInt

public static final int getInt(StringTokenizer st)
                        throws TokenizerException
Get an integer value from a string tokenizer.

Parameters:
st - the tokenizer to get the integer from
Returns:
a ninteger value
Throws:
TokenizerException - thrown if the string retrieved is not an integer value

getVersion

public static String getVersion()
Gets the MIPAV Version number from the about.txt file.

Returns:
String version number (in string format)

makeColorString

public static String makeColorString(Color aColor)
Takes a java.awt.Color and forms a string representing its color. the string appears as 6 hex digits and looks like the color coding used in html files, as in: "RRGGBB".

Parameters:
aColor - the color to be converted to a hexidecimal
Returns:
hexa-decimal string representing the 8-bit values of an RGB color, in the form of "RRGGBB".

makeFloatString

public static final String makeFloatString(float number,
                                           int decPts)
Makes a string of a float with a specific number of decimal points.

Parameters:
number - number to be converted to a string
decPts - the number of decimal points
Returns:
string representation of the number

makeHTMLFontString

public static final String makeHTMLFontString(Color color,
                                              String name,
                                              int size,
                                              int style,
                                              boolean doU,
                                              String text)
DOCUMENT ME!

Parameters:
color - Color
name - String
size - int
style - int
doU - boolean
text - String
Returns:
String

makeNumericsOnly

public static void makeNumericsOnly(JTextField txt,
                                    boolean allowFloatingPoint)
Takes a text field and forces the text field to accept numbers, backspace and delete-key entries.

Parameters:
txt - Text field to modify.
allowFloatingPoint - true will force the text field to also allow the use of the '.' key to permit entering floating point numbers.

makeNumericsOnly

public static void makeNumericsOnly(JTextField txt,
                                    boolean allowFloatingPoint,
                                    boolean allowNegativeNumbers)
Takes a txt field, and forces the textfield to accept numbers, backspace and delete-key entries. Arguments to the method can permit the text field to also allow the entry to be negative or give it a floating point decimal value. All other characters are ignored, so if further action is required, it will need to be custom-assigned by the calling object.

Parameters:
txt - the text field to make only accept numeric text
allowFloatingPoint - true will forces the text field to also allow the use of the '.' key to permit entering floating point numbers
allowNegativeNumbers - true causes textfield to allow the entry of a single minus sign ('-') in front of the text. An additional '-' removes minus sign from the field to give it the opposite sign.

setComponentsEnabled

public static final void setComponentsEnabled(Container container,
                                              boolean enabled)
DOCUMENT ME!

Parameters:
container - DOCUMENT ME!
enabled - DOCUMENT ME!

setFonts

public static final void setFonts(Component[] comp)
DOCUMENT ME!

Parameters:
comp - DOCUMENT ME!

showHelp

public static void showHelp(String ID)
Pops up the MIPAV help for a given help ID.

Parameters:
ID - The ID of the help topic to open.

testParameter

public static final boolean testParameter(String str,
                                          double minValue,
                                          double maxValue)
Tests that the entered parameter is in range.

Parameters:
str - the value entered by the user
minValue - the minimum value this variable may be set to
maxValue - the maximum value this variable may be set to
Returns:
boolean result of test