Module ij
Package ij.gui

Class 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)
      Obsolete
      static 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 to Prefs.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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GUI

        public GUI()
    • 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. If null 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 to Prefs.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 title
        imp - The image associated with this dialog