Class GUIUtilities

    • Method Detail

      • setIconPath

        public static void setIconPath​(java.lang.String iconPath)
        Sets the path where jEdit looks for icons.
        Parameters:
        iconPath - the icon path
        Since:
        jEdit 4.2pre5
      • loadIcon

        public static javax.swing.Icon loadIcon​(java.lang.String iconName)
        Loads an icon.
        Parameters:
        iconName - The icon name
        Returns:
        the icon
        Since:
        jEdit 2.6pre7
      • getEditorIcon

        public static java.awt.Image getEditorIcon()
        Returns:
        the default editor window image.
      • getPluginIcon

        public static java.awt.Image getPluginIcon()
        Returns:
        the default plugin window image.
      • loadMenuBar

        public static javax.swing.JMenuBar loadMenuBar​(java.lang.String name)
        Creates a menubar. Plugins should not need to call this method.
        Parameters:
        name - The menu bar name
        Returns:
        the menu bar
        Since:
        jEdit 3.2pre5
      • loadMenuBar

        public static javax.swing.JMenuBar loadMenuBar​(ActionContext context,
                                                       java.lang.String name)
        Creates a menubar. Plugins should not need to call this method.
        Parameters:
        context - An action context
        name - The menu bar name
        Returns:
        the menu bar
        Since:
        jEdit 4.2pre1
      • loadMenu

        public static javax.swing.JMenu loadMenu​(java.lang.String name)
        Creates a menu. The menu label is set from the name.label property. The menu contents is taken from the name property, which is a whitespace separated list of action names. An action name of - inserts a separator in the menu.
        Parameters:
        name - The menu name
        Returns:
        a menu
        Since:
        jEdit 2.6pre2
        See Also:
        loadMenuItem(String)
      • loadMenu

        public static javax.swing.JMenu loadMenu​(ActionContext context,
                                                 java.lang.String name)
        Creates a menu. The menu label is set from the name.label property. The menu contents is taken from the name property, which is a whitespace separated list of action names. An action name of - inserts a separator in the menu.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The menu name
        Returns:
        a menu
        Since:
        jEdit 4.2pre1
        See Also:
        loadMenuItem(String)
      • loadPopupMenu

        public static javax.swing.JPopupMenu loadPopupMenu​(java.lang.String name,
                                                           JEditTextArea textArea,
                                                           java.awt.event.MouseEvent evt)
        Creates a popup menu.
        Parameters:
        name - The menu name
        evt - mouse event
        textArea - the text area
        Returns:
        a popup menu
        Since:
        jEdit 2.6pre2
      • loadPopupMenu

        public static javax.swing.JPopupMenu loadPopupMenu​(java.lang.String name)
        Parameters:
        name - The menu name
        Returns:
        a popup menu.
        Since:
        jEdit 2.6pre2
      • loadPopupMenu

        public static javax.swing.JPopupMenu loadPopupMenu​(ActionContext context,
                                                           java.lang.String name)
        Creates a popup menu.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The menu name
        Returns:
        a popup menu
        Since:
        jEdit 4.2pre1
      • loadPopupMenu

        public static javax.swing.JPopupMenu loadPopupMenu​(ActionContext context,
                                                           java.lang.String name,
                                                           JEditTextArea textArea,
                                                           java.awt.event.MouseEvent evt)
        Creates a popup menu.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The menu name
        textArea - the textArea wanting to show the popup. If not null, include context menu items defined by services.
        evt - additional context info about where the mouse was when menu was requested
        Returns:
        the popup menu
        Since:
        jEdit 4.3pre15
      • getServiceContextMenuItems

        public static java.util.List<javax.swing.JMenuItem> getServiceContextMenuItems​(JEditTextArea textArea,
                                                                                       java.awt.event.MouseEvent evt)
        Parameters:
        textArea - the TextArea desiring to display these menu items
        evt - a mouse event
        Returns:
        a list of menu items defined by services.
        Since:
        jEdit 4.3pre15
      • loadMenuItem

        public static javax.swing.JMenuItem loadMenuItem​(java.lang.String name)
        Creates a menu item. The menu item is bound to the action named by name with label taken from the return value of the EditAction.getLabel() method.
        Parameters:
        name - The menu item name
        Returns:
        the menu item
        Since:
        jEdit 2.6pre1
        See Also:
        loadMenu(String)
      • loadMenuItem

        public static javax.swing.JMenuItem loadMenuItem​(java.lang.String name,
                                                         boolean setMnemonic)
        Creates a menu item.
        Parameters:
        name - The menu item name
        setMnemonic - True if the menu item should have a mnemonic
        Returns:
        a menu item
        Since:
        jEdit 3.1pre1
      • loadMenuItem

        public static javax.swing.JMenuItem loadMenuItem​(ActionContext context,
                                                         java.lang.String name,
                                                         boolean setMnemonic)
        Creates a menu item.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The menu item name
        setMnemonic - True if the menu item should have a mnemonic
        Returns:
        the menu item
        Since:
        jEdit 4.2pre1
      • loadMenuItem

        public static javax.swing.JMenuItem loadMenuItem​(EditAction editAction,
                                                         boolean setMnemonic)
      • loadToolBar

        public static java.awt.Container loadToolBar​(java.lang.String name)
        Parameters:
        name - The toolbar name
        Returns:
        a toolbar.
        Since:
        jEdit 4.2pre2
      • loadToolBar

        public static java.awt.Container loadToolBar​(ActionContext context,
                                                     java.lang.String name)
        Creates a toolbar.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The toolbar name
        Returns:
        the toolbar
        Since:
        jEdit 4.2pre2
      • loadToolButton

        @Nonnull
        public static EnhancedButton loadToolButton​(java.lang.String name)
        Loads a tool bar button. The tooltip is constructed from the name.label and name.shortcut properties and the icon is loaded from the resource named '/org/gjt/sp/jedit/icons/' suffixed with the value of the name.icon property.
        Parameters:
        name - The name of the button
        Returns:
        a button
      • loadToolButton

        @Nonnull
        public static EnhancedButton loadToolButton​(ActionContext context,
                                                    java.lang.String name)
        Loads a tool bar button. The tooltip is constructed from the name.label and name.shortcut properties and the icon is loaded from the resource named '/org/gjt/sp/jedit/icons/' suffixed with the value of the name.icon property.
        Parameters:
        context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
        name - The name of the button
        Returns:
        the button
        Since:
        jEdit 4.2pre1
      • prettifyMenuLabel

        @Deprecated
        public static java.lang.String prettifyMenuLabel​(java.lang.String label)
        `Prettifies' a menu item label by removing the `$' sign. This can be used to process the contents of an action.label property.
        Parameters:
        label - the label
        Returns:
        a pretty label
      • getPlatformShortcutLabel

        public static java.lang.String getPlatformShortcutLabel​(java.lang.String label)
        Translates a shortcut description string (e.g. "CS+SEMICOLON") to a platform-localized description. On OS X this puts in the pretty unicode characters for Shift, Cmd, etc.
      • getShortcutLabel

        public static java.lang.String getShortcutLabel​(java.lang.String action,
                                                        java.lang.Boolean platform)
        Returns a label string to show users what shortcut are assigned to the action.
        Parameters:
        platform - if true, show fancy platform-specific label for the modifiers.
      • setAutoMnemonic

        @Deprecated
        public static void setAutoMnemonic​(javax.swing.AbstractButton button)
        Sets the mnemonic for the given button using jEdit convention, taking the letter after the dollar.
        Parameters:
        button - The button to set the mnemonic for.
        Since:
        jEdit 5.1
      • message

        public static void message​(java.awt.Component comp,
                                   java.lang.String name,
                                   java.lang.Object[] args)
        Displays a dialog box. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The message is formatted by the property manager with args as positional parameters.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        args - Positional parameters to be substituted into the message text
      • error

        public static void error​(java.awt.Component comp,
                                 java.lang.String name,
                                 java.lang.Object[] args)
        Displays an error dialog box. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The message is formatted by the property manager with args as positional parameters.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        args - Positional parameters to be substituted into the message text
      • input

        public static java.lang.String input​(java.awt.Component comp,
                                             java.lang.String name,
                                             java.lang.Object def)
        Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        def - The text to display by default in the input field
      • inputProperty

        public static java.lang.String inputProperty​(java.awt.Component comp,
                                                     java.lang.String name,
                                                     java.lang.String def)
        Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        def - The property whose text to display in the input field
      • input

        public static java.lang.String input​(java.awt.Component comp,
                                             java.lang.String name,
                                             java.lang.Object[] args,
                                             java.lang.Object def)
        Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        def - The text to display by default in the input field
        args - Positional parameters to be substituted into the message text
        Since:
        jEdit 3.1pre3
      • inputProperty

        public static java.lang.String inputProperty​(java.awt.Component comp,
                                                     java.lang.String name,
                                                     java.lang.Object[] args,
                                                     java.lang.String def)
        Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        args - Positional parameters to be substituted into the message text
        def - The property whose text to display in the input field
        Since:
        jEdit 3.1pre3
      • confirm

        public static int confirm​(java.awt.Component comp,
                                  java.lang.String name,
                                  java.lang.Object[] args,
                                  int buttons,
                                  int type)
        Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        args - Positional parameters to be substituted into the message text
        buttons - The buttons to display - for example, JOptionPane.YES_NO_CANCEL_OPTION
        type - The dialog type - for example, JOptionPane.WARNING_MESSAGE
        Since:
        jEdit 3.1pre3
      • option

        public static int option​(java.awt.Component comp,
                                 java.lang.String name,
                                 java.lang.Object[] args,
                                 int type,
                                 java.lang.Object[] options,
                                 java.lang.Object initialValue)
        Displays an option dialog dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
        Parameters:
        comp - The component to display the dialog for
        name - The name of the dialog
        args - Positional parameters to be substituted into the message text
        type - The dialog type - for example, JOptionPane.WARNING_MESSAGE
        options - the buttons
        initialValue - the initial value
        Since:
        jEdit 4.5pre1
      • listConfirm

        public static int listConfirm​(java.awt.Component comp,
                                      java.lang.String name,
                                      java.lang.String[] args,
                                      java.lang.Object[] listModel)
        Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The dialog also shows a list of entries given by the listModel parameter.
        Parameters:
        comp - the parent component
        name - the name of the confirm dialog
        args - the for the message
        listModel - the items in the list
        Returns:
        an integer indicating the option selected by the user
        Since:
        jEdit 4.3pre1
      • listConfirm

        public static int listConfirm​(java.awt.Component comp,
                                      java.lang.String name,
                                      java.lang.String[] args,
                                      java.lang.Object[] listModel,
                                      java.util.List selectedItems)
        Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The dialog also shows a list of entries given by the listModel parameter.
        Parameters:
        comp - the parent component
        name - the name of the confirm dialog
        args - the for the message
        listModel - the items in the list
        selectedItems - give an empty list, it will contains in return the selected items
        Returns:
        an integer indicating the option selected by the user
        Since:
        jEdit 4.3pre12
      • showVFSFileDialog

        @Nonnull
        public static java.lang.String[] showVFSFileDialog​(View view,
                                                           java.lang.String path,
                                                           int type,
                                                           boolean multipleSelection)
        Displays a VFS file selection dialog box.
        Parameters:
        view - The view, should be non-null
        path - The initial directory to display. May be null
        type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
        multipleSelection - True if multiple selection should be allowed
        Returns:
        The selected file(s)
        Since:
        jEdit 2.6pre2
      • showVFSFileDialog

        @Nonnull
        public static java.lang.String[] showVFSFileDialog​(java.awt.Dialog parent,
                                                           View view,
                                                           java.lang.String path,
                                                           int type,
                                                           boolean multipleSelection)
        Displays a VFS file selection dialog box. This version can specify a dialog as the parent instead of the view.
        Parameters:
        view - The view, should be non-null
        path - The initial directory to display. May be null
        type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
        multipleSelection - True if multiple selection should be allowed
        Returns:
        The selected file(s)
        Since:
        jEdit 4.3pre10
      • showVFSFileDialog

        @Nonnull
        public static java.lang.String[] showVFSFileDialog​(java.awt.Frame parent,
                                                           View view,
                                                           java.lang.String path,
                                                           int type,
                                                           boolean multipleSelection)
        Displays a VFS file selection dialog box. This version can specify a frame as the parent instead of the view.
        Parameters:
        parent - The parent frame
        view - The view, should be non-null
        path - The initial directory to display. May be null
        type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
        multipleSelection - True if multiple selection should be allowed
        Returns:
        The selected file(s)
        Since:
        jEdit 4.3pre10
      • menuAcceleratorFont

        public static java.awt.Font menuAcceleratorFont()
        Menu accelerator font according to L&F defaults, with workarounds.
      • parseColor

        @Deprecated
        public static java.awt.Color parseColor​(java.lang.String name)
        Converts a color name to a color object. The name must either be a known string, such as `red', `green', etc (complete list is in the java.awt.Color class) or a hex color value prefixed with `#', for example `#ff0088'.
        Parameters:
        name - The color name
      • parseStyle

        @Deprecated
        public static SyntaxStyle parseStyle​(java.lang.String str,
                                             java.lang.String family,
                                             int size)
                                      throws java.lang.IllegalArgumentException
        Converts a style string to a style object.
        Parameters:
        str - The style string
        family - Style strings only specify font style, not font family
        size - Style strings only specify font style, not font family
        Throws:
        java.lang.IllegalArgumentException - if the style is invalid
        Since:
        jEdit 3.2pre6
      • getStyleString

        public static java.lang.String getStyleString​(SyntaxStyle style)
        Converts a style into it's string representation.
        Parameters:
        style - The style
      • loadGeometry

        public static void loadGeometry​(java.awt.Window win,
                                        java.awt.Container parent,
                                        java.lang.String name)
        Loads a windows's geometry from the properties. The geometry is loaded from the name.x, name.y, name.width and name.height properties.
        Parameters:
        win - The window to load geometry from
        parent - The parent frame to be relative to.
        name - The name of the window
      • loadGeometry

        public static void loadGeometry​(java.awt.Window win,
                                        java.lang.String name)
        Loads a windows's geometry from the properties. The geometry is loaded from the name.x, name.y, name.width and name.height properties.
        Parameters:
        win - The window to load geometry from
        name - The name of the window
      • adjustForScreenBounds

        @Deprecated
        public static void adjustForScreenBounds​(java.awt.Rectangle desired)
        Gives a rectangle the specified bounds, ensuring it is within the screen bounds.
        Since:
        jEdit 4.2pre3
      • saveGeometry

        public static void saveGeometry​(java.awt.Window win,
                                        java.lang.String name)
        Saves a window's geometry to the properties. The geometry is saved to the name.x, name.y, name.width and name.height properties.
        For Frame's and descendents use addSizeSaver(Frame,String) to save the sizes correct even if the Frame is in maximized or iconified state.
        Parameters:
        win - The window to load geometry from
        name - The name of the window
        See Also:
        addSizeSaver(Frame,String)
      • saveGeometry

        public static void saveGeometry​(java.awt.Window win,
                                        java.awt.Container parent,
                                        java.lang.String name)
        Saves a window's geometry to the properties. The geometry is saved to the name.x, name.y, name.width and name.height properties.
        For Frame's and descendents use addSizeSaver(Frame,Container,String) to save the sizes correct even if the Frame is in maximized or iconified state.
        Parameters:
        win - The window to load geometry from
        parent - The parent frame to be relative to.
        name - The name of the window
        See Also:
        addSizeSaver(Frame,Container,String)
      • hideSplashScreen

        public static void hideSplashScreen()
        Ensures that the splash screen is not visible. This should be called before displaying any dialog boxes or windows at startup.
      • applyTextAreaColors

        public static void applyTextAreaColors​(java.awt.Container win)
        experimental - applies the text area colors on a Component (such as a dockable window) and its children.
        Since:
        jEdit 5.0pre1
      • createMultilineLabel

        public static javax.swing.JComponent createMultilineLabel​(java.lang.String str)
        Creates a component that displays a multiple line message. This is implemented by assembling a number of JLabels in a JPanel.
        Parameters:
        str - The string, with lines delimited by newline (\n) characters.
        Since:
        jEdit 4.1pre3
      • requestFocus

        @Deprecated
        public static void requestFocus​(java.awt.Window win,
                                        java.awt.Component comp)
        Focuses on the specified component as soon as the window becomes active.
        Parameters:
        win - The window
        comp - The component
      • isPopupTrigger

        @Deprecated
        public static boolean isPopupTrigger​(java.awt.event.MouseEvent evt)
        Returns if the specified event is the popup trigger event. This implements precisely defined behavior, as opposed to MouseEvent.isPopupTrigger().
        Parameters:
        evt - The event
        Since:
        jEdit 3.2pre8
      • isRightButton

        @Deprecated
        public static boolean isRightButton​(int modifiers)
        Parameters:
        modifiers - The modifiers flag from a mouse event
        Since:
        jEdit 4.1pre9
      • getScreenBounds

        @Deprecated
        public static java.awt.Rectangle getScreenBounds()
        Returns the screen bounds, taking into account multi-screen environments.
        Since:
        jEdit 4.3pre18
      • showPopupMenu

        @Deprecated
        public static void showPopupMenu​(javax.swing.JPopupMenu popup,
                                         java.awt.Component comp,
                                         int x,
                                         int y)
        Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
        Parameters:
        popup - The popup menu
        comp - The component to show it for
        x - The x co-ordinate
        y - The y co-ordinate
        Since:
        jEdit 4.0pre1
        See Also:
        setComponentPopupMenu which works better and is simpler to use: you don't have to write the code to show/hide popups in response to mouse events anymore.
      • showPopupMenu

        @Deprecated
        public static void showPopupMenu​(javax.swing.JPopupMenu popup,
                                         java.awt.Component comp,
                                         int x,
                                         int y,
                                         boolean point)
        Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
        Parameters:
        popup - The popup menu
        comp - The component to show it for
        x - The x co-ordinate
        y - The y co-ordinate
        point - If true, then the popup originates from a single point; otherwise it will originate from the component itself. This affects positioning in the case where the popup does not fit onscreen.
        Since:
        jEdit 4.1pre1
      • isAncestorOf

        @Deprecated
        public static boolean isAncestorOf​(java.awt.Component comp1,
                                           java.awt.Component comp2)
        Returns if the first component is an ancestor of the second by traversing up the component hierarchy.
        Parameters:
        comp1 - The ancestor
        comp2 - The component to check
        Since:
        jEdit 4.1pre5
      • getParentDialog

        @Deprecated
        public static javax.swing.JDialog getParentDialog​(java.awt.Component c)
        Traverses the given component's parent tree looking for an instance of JDialog, and return it. If not found, return null.
        Parameters:
        c - The component
      • getComponentParent

        public static java.awt.Component getComponentParent​(java.awt.Component comp,
                                                            java.lang.Class clazz)
        Finds a parent of the specified component.
        Parameters:
        comp - The component
        clazz - Looks for a parent with this class (exact match, not derived).
        Since:
        jEdit 4.2pre1
      • setEnabledRecursively

        @Deprecated
        public static void setEnabledRecursively​(java.awt.Container c,
                                                 boolean enabled)
        Call setEnabled() recursively on the container and its descendants.
        Parameters:
        c - The container
        enabled - The enabled state to set
        Since:
        jEdit 4.3pre17
      • getView

        public static View getView​(java.awt.Component comp)
        Finds the view parent of the specified component.
        Parameters:
        comp - the component from which you want to get the parent view
        Returns:
        the parent view, or null if the component was not in a View.
        Since:
        jEdit 4.0pre2
      • setButtonContentMargin

        @Deprecated
        public static void setButtonContentMargin​(javax.swing.AbstractButton button,
                                                  java.awt.Insets margin)
        Sets the content margin of a button (for Nimbus L&F).
        Parameters:
        button - the button to modify
        margin - the new margin
        Since:
        jEdit 5.3
      • makeSameSize

        @Deprecated
        public static void makeSameSize​(java.awt.Component... components)
        Makes components the same size by finding the largest width and height of the given components then setting all components to that width and height. This is especially useful for making JButtons the same size.
        Parameters:
        components - The components to make the same size.
      • addSizeSaver

        public static void addSizeSaver​(@Nonnull
                                        java.awt.Frame frame,
                                        @Nonnull
                                        java.lang.String name)
        Adds a SizeSaver to the specified Frame. For non-Frame's use saveGeometry(Window,String)
        Parameters:
        frame - The Frame for which to save the size
        name - The prefix for the settings
        Since:
        jEdit 4.3pre6
        See Also:
        saveGeometry(Window,String)
      • addSizeSaver

        public static void addSizeSaver​(@Nonnull
                                        java.awt.Frame frame,
                                        java.awt.Container parent,
                                        @Nonnull
                                        java.lang.String name)
        Adds a SizeSaver to the specified Frame. For non-Frame's use saveGeometry(Window,Container,String)
        Parameters:
        frame - The Frame for which to save the size
        parent - The parent to be relative to
        name - The prefix for the settings
        Since:
        jEdit 4.3pre7
        See Also:
        saveGeometry(Window,Container,String)