- java.lang.Object
-
- ij.gui.GUI
-
public class GUI extends java.lang.Object
This class consists of static GUI utility methods.
-
-
Constructor Summary
Constructors Constructor Description GUI()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
center(java.awt.Window win)
static void
center(java.awt.Window win, java.awt.Component target)
Positions the specified window in the center of the screen that contains target.static void
centerOnImageJScreen(java.awt.Window win)
Positions the specified window in the center of the screen containing the "ImageJ" window.static java.awt.Image
createBlankImage(int width, int height)
Obsoletestatic void
fix(java.awt.Scrollbar sb)
Lightens overly dark scrollbar background on Windows 8.static void
fixScrollbar(java.awt.Scrollbar sb)
Works around an OpenJDK bug on Windows that causes the scrollbar thumb color and background color to be almost identical.static java.awt.Rectangle
getMaxWindowBounds()
static java.awt.Rectangle
getMaxWindowBounds(java.awt.Component component)
static java.awt.Rectangle
getMaxWindowBounds(java.awt.Point point)
static java.awt.Rectangle
getScreenBounds()
static java.awt.Rectangle
getScreenBounds(java.awt.Component component)
static java.awt.Rectangle
getScreenBounds(java.awt.Component component, boolean accountForInsets)
Get maximum bounds for the screen that contains a given component.static java.awt.Rectangle
getScreenBounds(java.awt.Point point)
static java.awt.Rectangle
getScreenBounds(java.awt.Point point, boolean accountForInsets)
Get maximum bounds for the screen that contains a given point.static java.awt.Rectangle
getUnionOfBounds()
static java.awt.Rectangle
getZeroBasedMaxBounds()
static GenericDialog
newNonBlockingDialog(java.lang.String title)
Returns a new NonBlockingGenericDialog with the given title, except when Java is running in headless mode, in which case a GenericDialog is be returned.static GenericDialog
newNonBlockingDialog(java.lang.String title, ImagePlus imp)
Returns a new NonBlockingGenericDialog with the given title if Prefs.nonBlockingFilterDialogs is 'true' and 'imp' is displayed, otherwise returns a GenericDialog.static void
scale(java.awt.Component component)
Scales an AWT component according toPrefs.getGuiScale()
.static boolean
scale(javax.swing.JComponent component)
Tries to detect if a Swing component is unscaled and scales it it according to#getGuiScale()
.static void
scalePopupMenu(java.awt.PopupMenu popup)
static boolean
showCompositeAdvisory(ImagePlus imp, java.lang.String title)
-
-
-
Method Detail
-
center
public static void center(java.awt.Window win, java.awt.Component target)
Positions the specified window in the center of the screen that contains target.
-
centerOnImageJScreen
public static void centerOnImageJScreen(java.awt.Window win)
Positions the specified window in the center of the screen containing the "ImageJ" window.
-
center
public static void center(java.awt.Window win)
-
getScreenBounds
public static java.awt.Rectangle getScreenBounds(java.awt.Point point, boolean accountForInsets)
Get maximum bounds for the screen that contains a given point.- Parameters:
point
- Coordinates of point.accountForInsets
- Deduct the space taken up by menu and status bars, etc. (after point is found to be inside bonds)- Returns:
- Rectangle of bounds or
null
if point not inside of any screen.
-
getScreenBounds
public static java.awt.Rectangle getScreenBounds(java.awt.Component component, boolean accountForInsets)
Get maximum bounds for the screen that contains a given component.- Parameters:
component
- An AWT component located on the desired screen. Ifnull
is provided, the default screen is used.accountForInsets
- Deduct the space taken up by menu and status bars, etc.- Returns:
- Rectangle of bounds.
-
getScreenBounds
public static java.awt.Rectangle getScreenBounds(java.awt.Point point)
-
getScreenBounds
public static java.awt.Rectangle getScreenBounds(java.awt.Component component)
-
getScreenBounds
public static java.awt.Rectangle getScreenBounds()
-
getMaxWindowBounds
public static java.awt.Rectangle getMaxWindowBounds(java.awt.Point point)
-
getMaxWindowBounds
public static java.awt.Rectangle getMaxWindowBounds(java.awt.Component component)
-
getMaxWindowBounds
public static java.awt.Rectangle getMaxWindowBounds()
-
getZeroBasedMaxBounds
public static java.awt.Rectangle getZeroBasedMaxBounds()
-
getUnionOfBounds
public static java.awt.Rectangle getUnionOfBounds()
-
createBlankImage
public static java.awt.Image createBlankImage(int width, int height)
Obsolete
-
fix
public static void fix(java.awt.Scrollbar sb)
Lightens overly dark scrollbar background on Windows 8.
-
showCompositeAdvisory
public static boolean showCompositeAdvisory(ImagePlus imp, java.lang.String title)
-
scale
public static void scale(java.awt.Component component)
Scales an AWT component according toPrefs.getGuiScale()
.- Parameters:
component
- the AWT component to be scaled. If a container, scaling is applied to all its child components
-
scalePopupMenu
public static void scalePopupMenu(java.awt.PopupMenu popup)
-
scale
public static boolean scale(javax.swing.JComponent component)
Tries to detect if a Swing component is unscaled and scales it it according to#getGuiScale()
.This is mainly relevant to linux: Swing components scale automatically on most platforms, specially since Java 8. However there are still exceptions to this on linux: e.g., In Ubuntu, Swing components do scale, but only under the GTK L&F. (On the other hand AWT components do not scale at all on hiDPI screens on linux).
This method tries to avoid exaggerated font sizes by detecting if a component has been already scaled by the UIManager, applying only
#getGuiScale()
to the component's font if not.- Parameters:
component
- the component to be scaled- Returns:
- true, if component's font was resized
-
fixScrollbar
public static final void fixScrollbar(java.awt.Scrollbar sb)
Works around an OpenJDK bug on Windows that causes the scrollbar thumb color and background color to be almost identical.
-
newNonBlockingDialog
public static GenericDialog newNonBlockingDialog(java.lang.String title)
Returns a new NonBlockingGenericDialog with the given title, except when Java is running in headless mode, in which case a GenericDialog is be returned.
-
newNonBlockingDialog
public static GenericDialog newNonBlockingDialog(java.lang.String title, ImagePlus imp)
Returns a new NonBlockingGenericDialog with the given title if Prefs.nonBlockingFilterDialogs is 'true' and 'imp' is displayed, otherwise returns a GenericDialog.- Parameters:
title
- Dialog titleimp
- The image associated with this dialog
-
-