Class Utilities

java.lang.Object
org.jdesktop.swingx.util.Utilities

public class Utilities extends Object
Contribution from NetBeans: Issue #319-swingx.

PENDING: need to reconcile with OS, JVM... added as-is because needed the shortcut handling to fix #

Author:
apple
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Operating system is IBM AIX.
    static final int
    Operating system is FreeBSD
    static final int
    Operating system is HP-UX.
    static final int
    Operating system is SGI IRIX.
    static final int
    Operating system is Linux.
    static final int
    Operating system is Mac.
    static final int
    Operating system is OS/2.
    static final int
    Operating system is unknown.
    static final int
    Operating system is Solaris.
    static final int
    Operating system is Sun OS.
    static final int
    Operating system is Compaq TRU64 Unix
    static final int
    A mask for Unix platforms.
    static final int
    Operating system is Compaq OpenVMS
    static final int
    Operating system is one of the Windows variants but we don't know which one it is
    static final int
    Operating system is Windows 2000.
    static final int
    Operating system is Windows 95.
    static final int
    Operating system is Windows 98.
    static final int
    A mask for Windows platforms.
    static final int
    Operating system is Windows NT.
    static final int
    A height of the windows's taskbar
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    Get the operating system on which NetBeans is running.
    static Rectangle
    Returns the usable area of the screen where applications can place its windows.
    static Rectangle
    Returns the usable area of the screen where applications can place its windows.
    static boolean
    Test whether the operating system supports icons on frames (windows).
    static boolean
    Test whether NetBeans is running on some variant of Unix.
    static boolean
    Test whether NetBeans is running on some variant of Windows.
    static String
    Converts a Swing key stroke descriptor to a familiar Emacs-like name.
    static KeyStroke
    Construct a new key description from a given universal string description.
    static KeyStroke[]
    Convert a space-separated list of Emacs-like key binding names to a list of Swing key strokes.
    static Object[]
    Convert an array of primitive types to an array of objects.
    static Object
    Convert an array of objects to an array of primitive types.
    static String[]
    wrapStringToArray(String original, int width, BreakIterator breakIterator, boolean removeNewLines)
    Wrap multi-line strings (and get the individual lines).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OS_WINNT

      public static final int OS_WINNT
      Operating system is Windows NT.
      See Also:
    • OS_WIN95

      public static final int OS_WIN95
      Operating system is Windows 95.
      See Also:
    • OS_WIN98

      public static final int OS_WIN98
      Operating system is Windows 98.
      See Also:
    • OS_SOLARIS

      public static final int OS_SOLARIS
      Operating system is Solaris.
      See Also:
    • OS_LINUX

      public static final int OS_LINUX
      Operating system is Linux.
      See Also:
    • OS_HP

      public static final int OS_HP
      Operating system is HP-UX.
      See Also:
    • OS_AIX

      public static final int OS_AIX
      Operating system is IBM AIX.
      See Also:
    • OS_IRIX

      public static final int OS_IRIX
      Operating system is SGI IRIX.
      See Also:
    • OS_SUNOS

      public static final int OS_SUNOS
      Operating system is Sun OS.
      See Also:
    • OS_TRU64

      public static final int OS_TRU64
      Operating system is Compaq TRU64 Unix
      See Also:
    • OS_OS2

      public static final int OS_OS2
      Operating system is OS/2.
      See Also:
    • OS_MAC

      public static final int OS_MAC
      Operating system is Mac.
      See Also:
    • OS_WIN2000

      public static final int OS_WIN2000
      Operating system is Windows 2000.
      See Also:
    • OS_VMS

      public static final int OS_VMS
      Operating system is Compaq OpenVMS
      See Also:
    • OS_WIN_OTHER

      public static final int OS_WIN_OTHER
      Operating system is one of the Windows variants but we don't know which one it is
      See Also:
    • OS_OTHER

      public static final int OS_OTHER
      Operating system is unknown.
      See Also:
    • OS_FREEBSD

      public static final int OS_FREEBSD
      Operating system is FreeBSD
      Since:
      4.50
      See Also:
    • OS_WINDOWS_MASK

      public static final int OS_WINDOWS_MASK
      A mask for Windows platforms.
      See Also:
    • OS_UNIX_MASK

      public static final int OS_UNIX_MASK
      A mask for Unix platforms.
      See Also:
    • TYPICAL_WINDOWS_TASKBAR_HEIGHT

      public static final int TYPICAL_WINDOWS_TASKBAR_HEIGHT
      A height of the windows's taskbar
      See Also:
  • Method Details

    • getOperatingSystem

      public static int getOperatingSystem()
      Get the operating system on which NetBeans is running.
      Returns:
      one of the OS_* constants (such as OS_WINNT)
    • isWindows

      public static boolean isWindows()
      Test whether NetBeans is running on some variant of Windows.
      Returns:
      true if Windows, false if some other manner of operating system
    • isUnix

      public static boolean isUnix()
      Test whether NetBeans is running on some variant of Unix. Linux is included as well as the commercial vendors, and Mac OS X.
      Returns:
      true some sort of Unix, false if some other manner of operating system
    • isLargeFrameIcons

      public static boolean isLargeFrameIcons()
      Test whether the operating system supports icons on frames (windows).
      Returns:
      true if it does not
    • getUsableScreenBounds

      public static Rectangle getUsableScreenBounds()
      Returns the usable area of the screen where applications can place its windows. The method subtracts from the screen the area of taskbars, system menus and the like. The screen this method applies to is the one which is considered current, ussually the one where the current input focus is.
      Returns:
      the rectangle of the screen where one can place windows
      Since:
      2.5
    • getUsableScreenBounds

      public static Rectangle getUsableScreenBounds(GraphicsConfiguration gconf)
      Returns the usable area of the screen where applications can place its windows. The method subtracts from the screen the area of taskbars, system menus and the like.
      Parameters:
      gconf - the GraphicsConfiguration of the monitor
      Returns:
      the rectangle of the screen where one can place windows
      Since:
      2.5
    • keyToString

      public static String keyToString(KeyStroke stroke)
      Converts a Swing key stroke descriptor to a familiar Emacs-like name.
      Parameters:
      stroke - key description
      Returns:
      name of the key (e.g. CS-F1 for control-shift-function key one)
      See Also:
    • stringToKey

      public static KeyStroke stringToKey(String s)
      Construct a new key description from a given universal string description. Provides mapping between Emacs-like textual key descriptions and the KeyStroke object used in Swing.

      This format has following form:

      [C][A][S][M]-identifier

      Where:

      • C stands for the Control key
      • A stands for the Alt key
      • S stands for the Shift key
      • M stands for the Meta key
      The format also supports two wildcard codes, to support differences in platforms. These are the preferred choices for registering keystrokes, since platform conflicts will automatically be handled:
      • D stands for the default menu accelerator - the Control key on most platforms, the Command (meta) key on Macintosh
      • O stands for the alternate accelerator - the Alt key on most platforms, the Ctrl key on Macintosh (Macintosh uses Alt as a secondary shift key for composing international characters - if you bind Alt-8 to an action, a mac user with a French keyboard will not be able to type the [ character, which is a significant handicap
      If you use the wildcard characters, and specify a key which will conflict with keys the operating system consumes, it will be mapped to whichever choice can work - for example, on Macintosh, Command-Q is always consumed by the operating system, so D-Q will always map to Control-Q.

      Every modifier before the hyphen must be pressed. identifier can be any text constant from KeyEvent but without the leading VK_ characters. So KeyEvent.VK_ENTER is described as ENTER.

      Parameters:
      s - the string with the description of the key
      Returns:
      key description object, or null if the string does not represent any valid key
    • stringToKeys

      public static KeyStroke[] stringToKeys(String s)
      Convert a space-separated list of Emacs-like key binding names to a list of Swing key strokes.
      Parameters:
      s - the string with keys
      Returns:
      array of key strokes, or null if the string description is not valid
      See Also:
    • toPrimitiveArray

      public static Object toPrimitiveArray(Object[] array)
      Convert an array of objects to an array of primitive types. E.g. an Integer[] would be changed to an int[].
      Parameters:
      array - the wrapper array
      Returns:
      a primitive array
      Throws:
      IllegalArgumentException - if the array element type is not a primitive wrapper
    • toObjectArray

      public static Object[] toObjectArray(Object array)
      Convert an array of primitive types to an array of objects. E.g. an int[] would be turned into an Integer[].
      Parameters:
      array - the primitive array
      Returns:
      a wrapper array
      Throws:
      IllegalArgumentException - if the array element type is not primitive
    • wrapStringToArray

      public static String[] wrapStringToArray(String original, int width, BreakIterator breakIterator, boolean removeNewLines)
      Wrap multi-line strings (and get the individual lines).
      Parameters:
      original - the original string to wrap
      width - the maximum width of lines
      breakIterator - breaks original to chars, words, sentences, depending on what instance you provide.
      removeNewLines - if true, any newlines in the original string are ignored
      Returns:
      the lines after wrapping