public final class GraphicsUtils
extends java.lang.Object
GraphicsUtils
defines common user-interface related utility
functions.Modifier and Type | Field and Description |
---|---|
protected static java.awt.Component |
component |
protected static java.awt.MediaTracker |
tracker |
Modifier and Type | Method and Description |
---|---|
static void |
centerWindowOnComponent(java.awt.Window window,
java.awt.Component over)
Centers the window over a component (usually another window).
|
static void |
centerWindowOnScreen(java.awt.Window window)
Sets the location of the specified window so that it is centered on screen.
|
static java.awt.Point |
computePopupLocation(javax.swing.JComponent popup,
javax.swing.JComponent parent)
Create a location so that a child component (usually a popup or windos) fits on a screen next to a parent
component with as little clipping as possible.
|
static java.awt.Image |
createImage(java.awt.Component component,
int width,
int height)
Create an an off-screen drawable image with given dimensions.
|
static javax.swing.ImageIcon |
createImageIcon(java.awt.Image image) |
static javax.swing.ImageIcon |
createImageIcon(java.net.URL url)
Create an image icon from the specified URL.
|
static void |
drawHighlightBorder(java.awt.Graphics g,
int x,
int y,
int width,
int height,
boolean raised,
java.awt.Color shadow,
java.awt.Color highlight)
Draws a single-line highlight border rectangle.
|
static java.awt.Component |
focusComponentOrChild(java.awt.Component c)
Puts the focus on the first component in the tree of
c that
can accept the focus. |
static javax.swing.JComponent |
focusComponentOrChild(java.awt.Component c,
boolean deepest)
Puts the focus on the first component in the tree of
c that
can accept the focus. |
static java.awt.Component |
getFocusableComponentOrChild(java.awt.Component c)
Deprecated.
replaced by
getFocusableComponentOrChild(Component, boolean) |
static javax.swing.JComponent |
getFocusableComponentOrChild(java.awt.Component c,
boolean deepest)
Returns the first component in the tree of
c that can accept
the focus. |
static java.awt.Component |
getFocusedChildComponent(java.awt.Component c) |
static java.awt.Insets |
getHighlightBorderInsets()
Return the amount of space taken up by a highlight border drawn by
drawHighlightBorder() . |
static java.lang.String[] |
getImageExtensions()
Returns an array of extenstions for available images.
|
static java.awt.Point |
getPopupMenuShowPoint(javax.swing.JPopupMenu popup,
int x,
int y)
Returns a point where the given popup menu should be shown.
|
static java.awt.Point |
getPopupMenuShowPoint(javax.swing.JPopupMenu popup,
java.awt.event.MouseEvent event)
Returns a point where the given popup menu should be shown.
|
static java.awt.Rectangle[] |
getScreenBounds() |
static boolean |
isAncestorOfFocusedComponent(java.awt.Component c) |
static java.awt.Image |
loadFromResource(java.lang.String imageName,
java.lang.Class cls)
Loads an
Image named imageName as a resource
relative to the Class cls . |
static void |
setWindowOpacity(java.awt.Window window,
float opacity)
Will attempt to make the window semi-transparent to the given opacity.
|
protected static final java.awt.Component component
protected static final java.awt.MediaTracker tracker
public static void drawHighlightBorder(java.awt.Graphics g, int x, int y, int width, int height, boolean raised, java.awt.Color shadow, java.awt.Color highlight)
g
- The graphics context to use for drawing.x
- The left edge of the border.y
- The top edge of the border.width
- The width of the border.height
- The height of the border.raised
- true
if the border is to be drawn raised,
false
if lowered.shadow
- The shadow color for the border.highlight
- The highlight color for the border.EtchedBorder
,
BasicGraphicsUtils.drawEtchedRect(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color)
public static java.awt.Insets getHighlightBorderInsets()
drawHighlightBorder()
.Insets
needed for the highlight border.drawHighlightBorder(java.awt.Graphics, int, int, int, int, boolean, java.awt.Color, java.awt.Color)
public static javax.swing.ImageIcon createImageIcon(java.net.URL url)
url
- the url to load an image icon forpublic static javax.swing.ImageIcon createImageIcon(java.awt.Image image)
public static java.awt.Image createImage(java.awt.Component component, int width, int height)
component
- width
- height
- public static java.awt.Point getPopupMenuShowPoint(javax.swing.JPopupMenu popup, java.awt.event.MouseEvent event)
popup
- the popup menuevent
- the mouse eventpublic static java.awt.Point getPopupMenuShowPoint(javax.swing.JPopupMenu popup, int x, int y)
popup
- the popup menux
- the x position in screen coordinatey
- the y position in screen coordinatespublic static void centerWindowOnComponent(java.awt.Window window, java.awt.Component over)
public static boolean isAncestorOfFocusedComponent(java.awt.Component c)
public static java.awt.Component getFocusedChildComponent(java.awt.Component c)
@Deprecated public static java.awt.Component getFocusableComponentOrChild(java.awt.Component c)
getFocusableComponentOrChild(Component, boolean)
c
that can accept
the focus.c
- the root of the component hierarchy to searchfocusComponentOrChild(java.awt.Component)
public static javax.swing.JComponent getFocusableComponentOrChild(java.awt.Component c, boolean deepest)
c
that can accept
the focus.c
- the root of the component hierarchy to searchdeepest
- if deepest
is true the method will return the first and deepest component that can accept the
focus. For example, if both a child and its parent are focusable and deepest
is true, the child is
returned.focusComponentOrChild(java.awt.Component)
public static java.awt.Component focusComponentOrChild(java.awt.Component c)
c
that
can accept the focus.public static javax.swing.JComponent focusComponentOrChild(java.awt.Component c, boolean deepest)
c
that
can accept the focus.c
- the root of the component hierarchy to searchdeepest
- if deepest
is true the method will focus the first and deepest component that can
accept the focus.
For example, if both a child and its parent are focusable and deepest
is true, the child is focused.getFocusableComponentOrChild(java.awt.Component)
public static java.awt.Image loadFromResource(java.lang.String imageName, java.lang.Class cls)
Image
named imageName
as a resource
relative to the Class cls
. If the Image
can
not be loaded, then null
is returned. Images loaded here
will be added to an internal cache based upon the full URL
to
their location.
This method replaces legacy code from JDeveloper 3.x and earlier.Class.getResource(String)
,
Toolkit.createImage(URL)
public static java.awt.Point computePopupLocation(javax.swing.JComponent popup, javax.swing.JComponent parent)
Pop-ups can sometimes appear partially off the screen, this will adjust the rectangle so that it will not clip (if possible) and as much of the rectangle will show as possible.
In single screen environments this means that the rectangle will be bound within the boundaries of the screen.
In multi screen environments the rectangle will not clip at the boundaries of any screen.
Be aware that in multi-screen environments, screen coordinates are mapped over all screens at once, e.g the top left coordinate of any screen isn't necessarily (0,0)
popup
- the popup component to showcomp
- the parent component of the popuppublic static java.awt.Rectangle[] getScreenBounds()
public static java.lang.String[] getImageExtensions()
public static void centerWindowOnScreen(java.awt.Window window)
window
- The window to be centered.public static void setWindowOpacity(java.awt.Window window, float opacity)
window
- the window to adjust opacityopacity
- the desired opacity (0f = fully transparent, 1f = fully opaque).