public class AppUtilities extends java.lang.Object
Modified by: Joseph A. Huwaldt
Modifier and Type | Method and Description |
---|---|
static java.io.File |
addExtensionToFile(java.awt.Component parent,
java.io.File theFile,
java.lang.String extension,
java.lang.String existsErrFmtMsg,
java.lang.String dlgTitle)
Return a version of the provided file reference that has the specified extension on
it.
|
static javax.swing.ButtonGroup |
buildButtonGroup(java.awt.image.ImageObserver parent,
java.lang.String[][] defs,
javax.swing.ImageIcon[] icons)
Build up a ButtonGroup containing toggle buttons from a description stored in a
String array.
|
static javax.swing.ButtonGroup |
buildButtonGroup(java.awt.image.ImageObserver parent,
java.lang.String[][] defs,
java.lang.String[] imgPaths)
Build up a ButtonGroup containing toggle buttons from a description stored in a
String array.
|
static javax.swing.ButtonGroup |
buildButtonGroup(java.awt.image.ImageObserver parent,
java.lang.String[][] defs,
java.net.URL[] imgURLs)
Build up a ButtonGroup containing toggle buttons from a description stored in a
String array.
|
static java.util.List<javax.swing.JButton> |
buildButtonList(java.lang.Object parent,
java.awt.image.ImageObserver observer,
java.lang.String[][] defs)
Build up a List of buttons from a description stored in a String array.
|
static void |
buildConstraints(java.awt.GridBagConstraints gbc,
int gx,
int gy,
int gw,
int gh,
int wx,
int wy)
Fills in the GridBagConstraints record for a given component with input items.
|
static javax.swing.JMenu |
buildMenu(java.lang.Object eventTarget,
java.lang.String name,
java.util.List<java.lang.String[]> menuDesc)
Build up a JMenu from a description stored in a list of String arrays.
|
static javax.swing.JMenu |
buildMenu(java.lang.Object eventTarget,
java.lang.String name,
java.lang.String[][] menuDesc)
Build up a JMenu from a description stored in a String array.
|
static javax.swing.JMenuItem |
buildMenuItem(java.lang.Object eventTarget,
java.lang.String[] menuDesc)
Build up a JMenuItem from a description stored in a String array.
|
static java.awt.Point |
centerIt(java.awt.Component comp)
Center the specified component on the screen.
|
static java.awt.Point |
centerIt(java.awt.Component outside,
java.awt.Component inside)
Center the "inside" component inside of the bounding rectangle of the "outside"
component.
|
static void |
checkDateAndDie(java.util.Calendar date,
java.lang.String message)
Method that exits the program (with a warning message) if the current data is after
the specified date.
|
static java.awt.Point |
dialogPosition(java.awt.Component comp)
Returns a point that can be used to locate a component in the "dialog" position
(1/3 of the way from the top to the bottom of the screen).
|
static java.awt.event.ActionListener |
getActionListenerForMethod(java.lang.Object target,
java.lang.String methodStr)
Method that returns an action listener that simply calls the specified method in
the specified class.
|
static java.net.URL |
getDocumentBase()
Try and determine the directory to where the program is installed and return that
as a URL.
|
static java.awt.Frame |
getFrameForComponent(java.awt.Component parentComponent)
Returns the specified component's top-level
Frame . |
static java.awt.Cursor |
getImageCursor(java.lang.String path,
int hsx,
int hsy,
java.lang.String name,
java.awt.image.ImageObserver observer)
Method that loads an image from a file and creates a custom mouse cursor from it.
|
static java.awt.Cursor |
getImageCursor(java.net.URL url,
int hsx,
int hsy,
java.lang.String name,
java.awt.image.ImageObserver observer)
Method that loads an image from a URL and creates a custom mouse cursor from it.
|
static java.awt.Component |
getRootComponent(java.lang.Object source)
Return the root component of the given component.
|
static boolean |
isMacOS()
Returns true if this program is running in any MacOS (8/9/X) environment, false is
returned otherwise.
|
static boolean |
isMacOSClassic()
Returns true if this program is running in a MacOS 8/9 environment, false is
returned otherwise.
|
static boolean |
isMacOSX()
Returns true if this program is running in a MacOS X environment, false is returned
otherwise.
|
static boolean |
isSystemLAF()
Returns true if the current look and feel is the same as the system look and feel.
|
static boolean |
isWindows()
Returns true if this program is running in a MS Windows environment, false is
returned otherwise.
|
static java.awt.Cursor |
makeImageCursor(java.awt.Image img,
int hsx,
int hsy,
java.lang.String name,
java.awt.image.ImageObserver observer)
Method that creates a custom mouse cursor from the specified image.
|
static void |
positionWindow(java.awt.Window inWindow,
int width,
int height)
Positions the specified window neatly on the screen such that document windows are
staggered one after the other.
|
static void |
positionWindowFixedSize(java.awt.Window inWindow,
int width,
int height)
Positions the specified window neatly on the screen such that document windows are
staggered one after the other.
|
static java.io.File |
selectDirectory(java.awt.Component parent,
int mode,
java.lang.String message,
java.lang.String directory,
java.io.FilenameFilter filter)
Method that brings up a file chooser dialog and allows the user to select a
directory.
|
static java.io.File |
selectFile(java.awt.Component parent,
int mode,
java.lang.String message,
java.lang.String directory,
java.lang.String name,
java.io.FilenameFilter filter)
Method that brings up a file chooser dialog and allows the user to select a file.
|
static java.io.File |
selectFile4Save(java.awt.Component parent,
java.lang.String message,
java.lang.String directory,
java.lang.String name,
java.io.FilenameFilter filter,
java.lang.String extension,
java.lang.String existsErrFmtMsg,
java.lang.String dlgTitle)
Method that displays a "Save As..." dialog asking the user to select or input a
file name to save a file to and returns a reference to the chosen file.
|
static void |
setSystemLAF()
Sets the Swing look and feel to hide that hideous default Java LAF.
|
static void |
showException(java.awt.Component parent,
java.lang.String title,
java.lang.String message,
java.lang.Throwable th)
Method that displays a dialog with a scrollable text field that contains the text
of a Java exception message.
|
static java.lang.Integer |
userEnteredInteger(java.awt.Component parent,
java.lang.String msg,
java.lang.String title,
int messageType,
int initialValue,
int lowerBound,
int upperBound)
Method that returns the bounded integer value that a user has entered in a standard
input dialog.
|
static int |
userSelectionFromArray(java.awt.Component parent,
java.lang.Object msg,
java.lang.String title,
int messageType,
java.lang.Object[] selectionValues,
java.lang.Object initialSelectionValue)
Method that returns the index to an option that a user has selected from an array
of options using a standard input dialog.
|
public static boolean isMacOSClassic()
public static boolean isMacOSX()
public static boolean isMacOS()
public static boolean isWindows()
public static void showException(java.awt.Component parent, java.lang.String title, java.lang.String message, java.lang.Throwable th)
parent
- The component that the exception dialog should be associated with
(null
is fine).title
- The title of the dialog window.message
- An optional message to display above the text pane
(null
is fine).th
- The exception to be displayed in the text pane of the dialog.public static java.awt.Point centerIt(java.awt.Component outside, java.awt.Component inside)
outside
- The component that the "inside" component should be center on.inside
- The component that is to be center on the "outside" component.public static java.awt.Point centerIt(java.awt.Component comp)
comp
- The component to be centered on the display screen.public static java.awt.Point dialogPosition(java.awt.Component comp)
comp
- The component to be located in a "dialog" position.public static void positionWindow(java.awt.Window inWindow, int width, int height)
inWindow
- The window to be positioned neatly on the screen.width
- the width to set the window to.height
- the height to set the window to.public static void positionWindowFixedSize(java.awt.Window inWindow, int width, int height)
inWindow
- The window to be placed neatly on the screen.width
- the width to set the window to.height
- the height to set the window to.public static void buildConstraints(java.awt.GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy)
gbc
- The GridBagConstraints record to be filled in.gx
- Grid (cell) index for this component in the x direction (1 == 2nd
column).gy
- Grid (cell) index for this component in the y direction (3 == 4th row).gw
- The number of cells this component spans in width.gh
- The number of cells this component spans in height.wx
- Proportional width of this grid cell compared to others.wy
- Proportional height of this grid cell compared to others.public static java.net.URL getDocumentBase()
public static java.awt.Component getRootComponent(java.lang.Object source)
source
- The Component or MenuComponent to find the root Component for.public static java.awt.Frame getFrameForComponent(java.awt.Component parentComponent)
Frame
.parentComponent
- the Component
to check for a Frame
Frame
that contains the component, or null
if
the component is null
, or does not have a valid
Frame
parentpublic static java.awt.Cursor getImageCursor(java.net.URL url, int hsx, int hsy, java.lang.String name, java.awt.image.ImageObserver observer)
url
- A URL to the image to be loaded as a cursor.hsx
- The x-coordinate of the point on the image that represents the
cursor hot spot.hsy
- The y coordinate of the point on the image that represents the
cursor hot spot.name
- The name to assign to this cursor for Java Accessibility.observer
- The component to use to observe the loading of the image. Pass
null
if none.null
will be returned.public static java.awt.Cursor getImageCursor(java.lang.String path, int hsx, int hsy, java.lang.String name, java.awt.image.ImageObserver observer)
path
- The path to the image to be loaded as a cursor.hsx
- The x-coordinate of the point on the image that represents the
cursor hot spot.hsy
- The y coordinate of the point on the image that represents the
cursor hot spot.name
- The name to assign to this cursor for Java Accessibility.observer
- The component to use to observe the loading of the image. Pass
null
if none.null
will be returned.public static java.awt.Cursor makeImageCursor(java.awt.Image img, int hsx, int hsy, java.lang.String name, java.awt.image.ImageObserver observer)
img
- The image to be loaded as a cursor.hsx
- The x-coordinate of the point on the image that represents the
cursor hot spot.hsy
- The y coordinate of the point on the image that represents the
cursor hot spot.name
- The name to assign to this cursor for Java Accessibility.observer
- The component to use to observe the loading of the image. Pass
null
if none.null
will be returned.public static void setSystemLAF() throws javax.swing.UnsupportedLookAndFeelException, java.lang.IllegalAccessException, java.lang.ClassNotFoundException, java.lang.InstantiationException
javax.swing.UnsupportedLookAndFeelException
java.lang.IllegalAccessException
java.lang.ClassNotFoundException
java.lang.InstantiationException
public static boolean isSystemLAF()
public static javax.swing.JMenu buildMenu(java.lang.Object eventTarget, java.lang.String name, java.util.List<java.lang.String[]> menuDesc) throws java.lang.NoSuchMethodException
eventTarget
- This is the object that must contain the methods used to handle
action events for this menu's items.name
- Name of the menu to create.menuDesc
- List of String arrays that describes each of the menu items that
will be built into this menu. For each String array, item 0 is
the menu item text string. Item 1 is the accelerator key for the
menu item. Item 2 is the name of the public method in
"eventTarget" that will handle the user choosing the menu item.
This method must take an ActionEvent as it's only parameter. If
this is null
, the menu item will be shown as
disabled. Items 3 is optional and is the tool-tip text to show
for the menu item if not null
.java.lang.NoSuchMethodException
- If one of the action event methods in parent could
not be found.public static javax.swing.JMenu buildMenu(java.lang.Object eventTarget, java.lang.String name, java.lang.String[][] menuDesc) throws java.lang.NoSuchMethodException
eventTarget
- This is the object that must contain the public methods used to
handle action events for this menu's items.name
- Name of the menu to create.menuDesc
- String array that describes each of the menu items that will be
built into this menu. For each String array, item 0 is the menu
item text string. Item 1 is the accelerator key for the menu
item. Item 2 is the name of the public method in "eventTarget"
that will handle the user choosing the menu item. This method
must take an ActionEvent as it's only parameter. If this is
null
, the menu item will be shown as disabled.
Items 3 is optional and is the tool-tip text to show for the
menu item if not null
.java.lang.NoSuchMethodException
- If one of the action event methods in parent could
not be found.public static javax.swing.JMenuItem buildMenuItem(java.lang.Object eventTarget, java.lang.String[] menuDesc) throws java.lang.NoSuchMethodException
eventTarget
- This is the object that must contain the public methods used to
handle action events for this item.menuDesc
- A 3 or 4-element String array that describes the menu item that
will be built. Item 0 is the menu item text string. Item 1 is
the accelerator key for the menu item. Item 2 is the name of the
public method in "eventTarget" that will handle the user
choosing this menu item. This method must take an ActionEvent as
it's only parameter. If this is null
, the menu item
will be shown as disabled. Items 3 is optional and is the
tool-tip text to show for the menu item if not
null
.java.lang.NoSuchMethodException
- If one of the action event methods in parent could
not be found.public static javax.swing.ButtonGroup buildButtonGroup(java.awt.image.ImageObserver parent, java.lang.String[][] defs, java.net.URL[] imgURLs) throws java.lang.NoSuchMethodException
null
if no text), the name of the method in the parent object
that will be called when a button is clicked on (if null
is passed,
the button is disabled), and the tool tip text to display for the button;
(null
for no tool tip).parent
- The parent object that will contain handle the user clicking on one
of the buttons in this group. This object is also used to observe
the reading in of the button icon images.defs
- String array that describes each of the text string that will be
displayed in the button. Item 0 is the text to be displayed in each
button. If this is null
no text is displayed. Item 1 is
the name of the method in "parent" that will handle the user
clicking on this button item. If this is null
, the menu
button will be shown as disabled. Item 2 is the tool tip to be shown
above this button item. If null
is passed no tool tip
is shown.imgURLs
- An array of URLs for the images to be displayed in the buttons. If
null
is passed in, then there will be no button images.
If any element is null
, that button will have no image.java.lang.NoSuchMethodException
- if a specified method in the parent object
doesn't exist.public static javax.swing.ButtonGroup buildButtonGroup(java.awt.image.ImageObserver parent, java.lang.String[][] defs, java.lang.String[] imgPaths) throws java.lang.NoSuchMethodException
null
if no text), the name of the method in the parent object
that will be called when a button is clicked on (if null
is passed,
the button is disabled), and the tool tip text to display for the button
(null
for no tool tip).parent
- The parent object that will contain handle the user clicking on one
of the buttons in this group. This object is also used to observe
the reading in of the button icon images.defs
- String array that describes each of the text string that will be
displayed in the button. Item 0 is the text to be displayed in each
button. If this is null
no text is displayed. Item 1
is the name of the method in "parent" that will handle the user
clicking on this button item. If this is null
, the
menu button will be shown as disabled. Item 2 is the tool tip to be
shown above this button item. If null
is passed no
tool tip is shown.imgPaths
- An array of image file paths for the images to be displayed in the
buttons. If null
is passed in, then there will be no
button images. If any element is null
, that button
will have no image.java.lang.NoSuchMethodException
- if a specified method in the parent object
doesn't exist.public static javax.swing.ButtonGroup buildButtonGroup(java.awt.image.ImageObserver parent, java.lang.String[][] defs, javax.swing.ImageIcon[] icons) throws java.lang.NoSuchMethodException
null
if no text), the path to an image file to display in the
button (null
for no image), the name of the method in the parent
object that will be called when a button is clicked on (if null
is
passed, the button is disabled), and the tool tip text to display for the button
(null
for no tool tip).parent
- The parent object that will contain handle the user clicking on one
of the buttons in this group. This object is also used to observe the
reading in of the button icon images.defs
- String array that describes each of the text string that will be
displayed in the button. Item 0 is the text to be displayed in each
button. If this is null
no text is displayed. Item 1 is
the name of the method in "parent" that will handle the user clicking
on this button item. If this is null
, the menu button
will be shown as disabled. Item 2 is the tool tip to be shown above
this button item. If null
is passed no tool tip is
shown.icons
- An array of icon images to be displayed in the buttons. If this array
is null
, there will be no images displayed in the
buttons. If one of the elements of the array is null
,
that button will have no image.java.lang.NoSuchMethodException
- if a specified method in the parent object
doesn't exist.public static java.util.List<javax.swing.JButton> buildButtonList(java.lang.Object parent, java.awt.image.ImageObserver observer, java.lang.String[][] defs) throws java.lang.NoSuchMethodException
null
if no text), the path to an image file to display in the button
(null
for no image), the name of the method in the parent object that
will be called when a button is clicked on (if null
is passed, the
button is disabled), and the tool tip text to display for the button
(null
for no tool tip).parent
- The parent object that will handle the user clicking on one of the
buttons in this group.observer
- The object used to observe the reading in of the button icon
images, if any (if no images being read in, this may be null).defs
- String array that describes each button. Item 0 is the text string
that will be displayed in the button. If this is null
no text is displayed. Item 1 is the file path to the image to
display in this button. If null
is passed, no image
icon is displayed. Item 2 is the name of the method in "parent"
that will handle the user clicking on this button item. If this is
null
, the menu button will be shown as disabled. Item
3 is the tool tip to be shown above this button item. If
null
is passed no tool tip is shown.java.lang.NoSuchMethodException
- if a specified method in the parent object
doesn't exist.public static java.awt.event.ActionListener getActionListenerForMethod(java.lang.Object target, java.lang.String methodStr) throws java.lang.NoSuchMethodException
target
- The object which contains the specified method.methodStr
- The name of the method to be called in the target object. This
method must be contained in target, must be publicly accessible
and must accept an ActionEvent object as the only parameter.java.lang.NoSuchMethodException
- if the target object does not contain the specified
method.public static void checkDateAndDie(java.util.Calendar date, java.lang.String message)
date
- The data and time when the program should expire.message
- The warning message to show if the program has expired.public static int userSelectionFromArray(java.awt.Component parent, java.lang.Object msg, java.lang.String title, int messageType, java.lang.Object[] selectionValues, java.lang.Object initialSelectionValue)
parent
- The parent Component for the dialogmsg
- The message to display to the user.title
- The title of the dialog window.messageType
- One of the JOptionPane message type constants:
ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE,
QUESTION_MESSAGE, or PLAIN_MESSAGE.selectionValues
- An array of Objects that gives the possible
selections.initialSelectionValue
- The value used to initialize the input field.public static java.lang.Integer userEnteredInteger(java.awt.Component parent, java.lang.String msg, java.lang.String title, int messageType, int initialValue, int lowerBound, int upperBound)
parent
- The parent Component for the dialogmsg
- The message to display to the user.title
- The title of the dialog window.messageType
- One of the JOptionPane message type constants: ERROR_MESSAGE,
INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or
PLAIN_MESSAGE.initialValue
- The initial value for the dialog's text field.lowerBound
- The lowest (most negative) value to allow the user to enter
(use Integer.MIN_VALUE to allow any negative integer).upperBound
- The largest (most positive) value to allow the user to enter
(use Integer.MAX_VALUE to allow any positive integer).null
if the user has
canceled.public static java.io.File selectFile(java.awt.Component parent, int mode, java.lang.String message, java.lang.String directory, java.lang.String name, java.io.FilenameFilter filter)
parent
- The owner of the dialog (null
is fine).mode
- Either FileDialog.LOAD or FileDialog.SAVE.message
- The message for the dialog. Something like "Choose a name for this
file:".directory
- The directory to prompt the user with by default
(null
is fine).name
- The name of the file to prompt the user with by default
(null
is fine).filter
- The filename filter to use (null
means no filter).null
if no file was
selected.public static java.io.File selectDirectory(java.awt.Component parent, int mode, java.lang.String message, java.lang.String directory, java.io.FilenameFilter filter)
parent
- The owner of the dialog (null
is fine).mode
- Either FileDialog.LOAD or FileDialog.SAVE.message
- The message for the dialog. Something like "Choose a name for this
directory:".directory
- The directory to prompt the user with by default
(null
is fine).filter
- The filename filter to use (null
means no filter).null
if no file was
selected.public static java.io.File selectFile4Save(java.awt.Component parent, java.lang.String message, java.lang.String directory, java.lang.String name, java.io.FilenameFilter filter, java.lang.String extension, java.lang.String existsErrFmtMsg, java.lang.String dlgTitle)
parent
- The owner of the dialog (null
is fine).message
- The message for the dialog. Something like "Choose a name
for this file:".directory
- The directory to prompt the user with by default
(null
is fine).name
- The name of the file to prompt the user with by default
(null
is fine).filter
- The filename filter to use (null
means no
filter).extension
- The filename extension. This is appended to the filename
provided by the user if the filename input doesn't already
have it. Passing null
means that no extension
will be forced onto the filename.existsErrFmtMsg
- A MessageFormat compatible "file exists" error message that
will have the file name substituted into it. Pass something
like, "A file with the named \"{0}\" already exists. Do you
want to replace it?"dlgTitle
- The title of the warning dialog that is shown if the
selected file already exists.null
if the a valid file was not chosen.public static java.io.File addExtensionToFile(java.awt.Component parent, java.io.File theFile, java.lang.String extension, java.lang.String existsErrFmtMsg, java.lang.String dlgTitle)
null
is
returned.parent
- The owner of the dialog (null
is fine).theFile
- The file to enforce an extension for. If null
,
then this dialog does nothing.extension
- The extension to ensure the file has. If null
,
then this method does nothing.existsErrFmtMsg
- A MessageFormat compatible "file exists" error message that
will have the file name substituted into it. Pass something
like, "A file with the named \"{0}\" already exists. Do you
want to replace it?"dlgTitle
- The title of the warning dialog that is shown if the
selected file already exists.