Package ij.gui
Class GUI
java.lang.Object
ij.gui.GUI
public class GUI extends Object
This class consists of static GUI utility methods.
-
Constructor Summary
Constructors Constructor Description GUI()
-
Method Summary
Modifier and Type Method Description static void
center(Window win)
static void
center(Window win, Component target)
Positions the specified window in the center of the screen that contains target.static void
centerOnImageJScreen(Window win)
Positions the specified window in the center of the screen containing the "ImageJ" window.static Image
createBlankImage(int width, int height)
Creates a white AWT Image image of the specified size.static void
fix(Scrollbar sb)
Lightens overly dark scrollbar background on Windows 8.static Rectangle
getMaxWindowBounds()
static Rectangle
getMaxWindowBounds(Component component)
static Rectangle
getMaxWindowBounds(Point point)
static Rectangle
getScreenBounds()
static Rectangle
getScreenBounds(Component component)
static Rectangle
getScreenBounds(Component component, boolean accountForInsets)
Get maximum bounds for the screen that contains a given component.static Rectangle
getScreenBounds(Point point)
static Rectangle
getScreenBounds(Point point, boolean accountForInsets)
Get maximum bounds for the screen that contains a given point.static Rectangle
getUnionOfBounds()
static Rectangle
getZeroBasedMaxBounds()
static void
scale(Component component)
Scales an AWT component according toPrefs.getGuiScale()
.static boolean
scale(JComponent component)
Tries to detect if a Swing component is unscaled and scales it it according to#getGuiScale()
.static void
scalePopupMenu(PopupMenu popup)
static boolean
showCompositeAdvisory(ImagePlus imp, String title)
-
Constructor Details
-
GUI
public GUI()
-
-
Method Details
-
center
Positions the specified window in the center of the screen that contains target. -
centerOnImageJScreen
Positions the specified window in the center of the screen containing the "ImageJ" window. -
center
-
getScreenBounds
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
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
-
getScreenBounds
-
getScreenBounds
-
getMaxWindowBounds
-
getMaxWindowBounds
-
getMaxWindowBounds
-
getZeroBasedMaxBounds
-
getUnionOfBounds
-
createBlankImage
Creates a white AWT Image image of the specified size. -
fix
Lightens overly dark scrollbar background on Windows 8. -
showCompositeAdvisory
-
scale
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
-
scale
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
-