Class JPopupMenuOperator

  • All Implemented Interfaces:
    Outputable, Timeoutable

    public class JPopupMenuOperator
    extends JComponentOperator
    implements Outputable, Timeoutable


    Timeouts used:
    JMenuOperator.WaitBeforePopupTimeout - time to sleep before popup expanding
    JMenuOperator.WaitPopupTimeout - time to wait popup displayed
    ComponentOperator.WaitComponentTimeout - time to wait button displayed
    WindowWaiter.WaitWindowTimeout - time to wait popup window displayed
    WindowWaiter.AfterWindowTimeout - time to sleep after popup window has been dispayed
    .
    Author:
    Alexandre Iline (alexandre.iline@sun.com)
    See Also:
    Timeouts
    • Constructor Detail

      • JPopupMenuOperator

        public JPopupMenuOperator​(javax.swing.JPopupMenu popup)
        Constructor.
        Parameters:
        popup - a component
      • JPopupMenuOperator

        public JPopupMenuOperator​(ContainerOperator cont,
                                  ComponentChooser chooser,
                                  int index)
        Constructs a JPopupMenuOperator object.
        Parameters:
        cont - a container
        chooser - a component chooser specifying searching criteria.
        index - an index between appropriate ones.
      • JPopupMenuOperator

        public JPopupMenuOperator​(ContainerOperator cont,
                                  ComponentChooser chooser)
        Constructs a JPopupMenuOperator object.
        Parameters:
        cont - a container
        chooser - a component chooser specifying searching criteria.
      • JPopupMenuOperator

        public JPopupMenuOperator​(Operator env)
        Constructor. Waits component first. Constructor can be used in complicated cases when output or timeouts should differ from default.
        Parameters:
        env - an operator to copy environment from.
        Throws:
        TimeoutExpiredException
      • JPopupMenuOperator

        public JPopupMenuOperator​(ContainerOperator cont)
        Constructor. Waits component in container first. Uses cont's timeout and output for waiting and to init operator.
        Parameters:
        cont - a container
        Throws:
        TimeoutExpiredException
      • JPopupMenuOperator

        public JPopupMenuOperator()
        Constructor. Waits component first.
        Throws:
        TimeoutExpiredException
    • Method Detail

      • findJPopupMenu

        public static javax.swing.JPopupMenu findJPopupMenu​(java.awt.Container cont,
                                                            ComponentChooser chooser,
                                                            int index)
        Searches JPopupMenu in container.
        Parameters:
        cont - Container to search component in.
        chooser - a component chooser specifying searching criteria.
        index - Ordinal component index.
        Returns:
        JPopupMenu instance or null if component was not found.
      • findJPopupMenu

        public static javax.swing.JPopupMenu findJPopupMenu​(java.awt.Container cont,
                                                            ComponentChooser chooser)
        Searches JPopupMenu in container.
        Parameters:
        cont - Container to search component in.
        chooser - a component chooser specifying searching criteria.
        Returns:
        JPopupMenu instance or null if component was not found.
      • waitJPopupMenu

        public static javax.swing.JPopupMenu waitJPopupMenu​(java.awt.Container cont,
                                                            ComponentChooser chooser,
                                                            int index)
        Waits JPopupMenu in container.
        Parameters:
        cont - Container to search component in.
        chooser - a component chooser specifying searching criteria.
        index - Ordinal component index.
        Returns:
        JPopupMenu instance.
        Throws:
        TimeoutExpiredException
      • waitJPopupMenu

        public static javax.swing.JPopupMenu waitJPopupMenu​(java.awt.Container cont,
                                                            ComponentChooser chooser)
        Waits JPopupMenu in container.
        Parameters:
        cont - Container to search component in.
        chooser - a component chooser specifying searching criteria.
        Returns:
        JPopupMenu instance.
        Throws:
        TimeoutExpiredException
      • findJPopupWindow

        public static java.awt.Window findJPopupWindow​(ComponentChooser chooser)
        Searches for a window which contains JPopupMenu.
        Parameters:
        chooser - a component chooser specifying criteria for JPopupMenu.
        Returns:
        a window containing JPopupMenu.
      • waitJPopupWindow

        public static java.awt.Window waitJPopupWindow​(ComponentChooser chooser)
        Waits for a window which contains JPopupMenu.
        Parameters:
        chooser - a component chooser specifying criteria for JPopupMenu.
        Returns:
        a window containing JPopupMenu.
        Throws:
        TimeoutExpiredException
      • waitJPopupMenu

        public static JPopupMenuOperator waitJPopupMenu​(ComponentChooser popupChooser)
        Waits popup defined by popupChooser parameter.
        Parameters:
        popupChooser - a component chooser specifying criteria for JPopupMenu.
        Returns:
        a JPopupMenu fitting the criteria.
      • waitJPopupMenu

        public static JPopupMenuOperator waitJPopupMenu​(java.lang.String menuItemText)
        Waits popup containing menu item with menuItemText text.
        Parameters:
        menuItemText - a text of a menu item which supposed to be displayed inside the popup.
        Returns:
        a JPopupMenu fitting the criteria.
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(ComponentOperator oper,
                                                       int x,
                                                       int y,
                                                       int mouseButton)
        Calls popup by clicking on (x, y) point in component.
        Parameters:
        oper - Component operator to call popup on.
        x - X coordinate of click point in the component coordinate system.
        y - Y coordinate of click point in the component coordinate system.
        mouseButton - Mouse button mask to call popup.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(ComponentOperator oper,
                                                       int x,
                                                       int y)
        Calls popup by clicking on (x, y) point in component.
        Parameters:
        oper - Component operator to call popup on.
        x - X coordinate of click point in the component coordinate system.
        y - Y coordinate of click point in the component coordinate system.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
        See Also:
        Operator.getPopupMouseButton()
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(java.awt.Component comp,
                                                       int x,
                                                       int y,
                                                       int mouseButton)
        Calls popup by clicking on (x, y) point in component.
        Parameters:
        comp - Component to call popup on.
        x - X coordinate of click point in the component coordinate system.
        y - Y coordinate of click point in the component coordinate system.
        mouseButton - Mouse button mask to call popup.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(java.awt.Component comp,
                                                       int x,
                                                       int y)
        Calls popup by clicking on (x, y) point in component.
        Parameters:
        comp - Component to call popup on.
        x - X coordinate of click point in the component coordinate system.
        y - Y coordinate of click point in the component coordinate system.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
        See Also:
        Operator.getPopupMouseButton()
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(java.awt.Component comp,
                                                       int mouseButton)
        Calls popup by clicking component center.
        Parameters:
        comp - Component to call popup on.
        mouseButton - Mouse button mask to call popup.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
      • callPopup

        public static javax.swing.JPopupMenu callPopup​(java.awt.Component comp)
        Calls popup by clicking component center.
        Parameters:
        comp - Component to call popup on.
        Returns:
        an opened JPopupMenu
        Throws:
        TimeoutExpiredException
        See Also:
        Operator.getPopupMouseButton()
      • copyEnvironment

        public void copyEnvironment​(Operator anotherOperator)
        Description copied from class: Operator
        Copies all environment (output, timeouts, visualizer) from another operator.
        Overrides:
        copyEnvironment in class ComponentOperator
        Parameters:
        anotherOperator - an operator to copy the environment to.
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(ComponentChooser[] choosers)
        Pushes menu.
        Parameters:
        choosers - Array of choosers to find menuItems to push.
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenuNoBlock

        public void pushMenuNoBlock​(ComponentChooser[] choosers)
        Executes pushMenu(choosers) in a separate thread.
        Parameters:
        choosers - Array of choosers to find menuItems to push.
        See Also:
        pushMenu(ComponentChooser[])
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String[] names,
                                              Operator.StringComparator comparator)
        Pushes menu.
        Parameters:
        names - an array of menu texts.
        comparator - a string comparision algorithm
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String[] names,
                                              boolean ce,
                                              boolean ccs)
        Deprecated.
        Use pushMenu(String[]) or pushMenu(String[], StringComparator)
        Pushes menu.
        Parameters:
        names - Menu items texts.
        ce - Compare text exactly.
        ccs - Compare text case sensitively.
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
        See Also:
        Operator.isCaptionEqual(String, String, boolean, boolean)
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String[] names,
                                    Operator.StringComparator comparator)
        Executes pushMenu(names, ce, ccs) in a separate thread.
        Parameters:
        names - an array of menu texts.
        comparator - a string comparision algorithm
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String[] names,
                                    boolean ce,
                                    boolean ccs)
        Deprecated.
        Use pushMenuNoBlock(String[]) or pushMenuNoBlock(String[], StringComparator)
        Executes pushMenu(names, ce, ccs) in a separate thread.
        Parameters:
        names - Menu items texts.
        ce - Compare text exactly.
        ccs - Compare text case sensitively.
        See Also:
        pushMenu(String[], boolean,boolean)
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String[] names)
        Executes pushMenu(names) in a separate thread.
        Parameters:
        names - Menu items texts.
        See Also:
        pushMenu(String[])
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String path,
                                              java.lang.String delim,
                                              Operator.StringComparator comparator)
        Pushes menu.
        Parameters:
        path - a menu path.
        delim - a path delimiter.
        comparator - a string comparision algorithm
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String path,
                                              Operator.StringComparator comparator)
        Pushes menu. Uses PathParser assigned to this operator.
        Parameters:
        path - a menu path.
        comparator - a string comparision algorithm
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String path,
                                              java.lang.String delim,
                                              boolean ce,
                                              boolean ccs)
        Deprecated.
        Use pushMenu(String, String) or pushMenu(String, String, StringComparator)
        Pushes menu.
        Parameters:
        path - String menupath representation ("File/New", for example).
        delim - String menupath divider ("/").
        ce - Compare text exactly.
        ccs - Compare text case sensitively.
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
        See Also:
        Operator.isCaptionEqual(String, String, boolean, boolean)
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String path,
                                    java.lang.String delim,
                                    Operator.StringComparator comparator)
        Executes pushMenu(names, delim, comparator) in a separate thread.
        Parameters:
        path - a menu path.
        delim - a path delimiter.
        comparator - a string comparision algorithm
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String path,
                                    Operator.StringComparator comparator)
        Executes pushMenu(names, comparator) in a separate thread. Uses PathParser assigned to this operator.
        Parameters:
        path - a menu path.
        comparator - a string comparision algorithm
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String path,
                                    java.lang.String delim,
                                    boolean ce,
                                    boolean ccs)
        Deprecated.
        Use pushMenuNoBlock(String, String) or pushMenuNoBlock(String, String, StringComparator)
        Executes pushMenu(path, delim, ce, ccs) in a separate thread.
        Parameters:
        path - String menupath representation ("File/New", for example).
        delim - String menupath divider ("/").
        ce - Compare text exactly.
        ccs - Compare text case sensitively.
        See Also:
        pushMenu(org.netbeans.jemmy.ComponentChooser[])
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String path,
                                              java.lang.String delim)
        Pushes menu.
        Parameters:
        path - String menupath representation ("File/New", for example).
        delim - String menupath divider ("/").
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenu

        public javax.swing.JMenuItem pushMenu​(java.lang.String path)
        Pushes menu. Uses PathParser assigned to this operator.
        Parameters:
        path - String menupath representation ("File/New", for example).
        Returns:
        Last pushed JMenuItem.
        Throws:
        TimeoutExpiredException
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String path,
                                    java.lang.String delim)
        Executes pushMenu(path, delim) in a separate thread.
        Parameters:
        path - String menupath representation ("File/New", for example).
        delim - String menupath divider ("/").
      • pushMenuNoBlock

        public void pushMenuNoBlock​(java.lang.String path)
        Executes pushMenu(path) in a separate thread.
        Parameters:
        path - String menupath representation ("File/New", for example).
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String[] path,
                                                 Operator.StringComparator comparator)
        Shows submenu of menu specified by a path parameter.
        Parameters:
        path - an array of menu texts.
        comparator - a string comparision algorithm
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String[] path)
        Shows submenu of menu specified by a path parameter. Uses StringComparator assigned to the operator.
        Parameters:
        path - an array of menu texts.
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String path,
                                                 java.lang.String delim,
                                                 Operator.StringComparator comparator)
        Shows submenu of menu specified by a path parameter.
        Parameters:
        path - a string identifying the menu path.
        delim - a path delimiter.
        comparator - a string comparision algorithm
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String path,
                                                 Operator.StringComparator comparator)
        Shows submenu of menu specified by a path parameter. Uses PathParser assigned to this operator.
        Parameters:
        path - a string identifying the menu path.
        comparator - a string comparision algorithm
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String path,
                                                 java.lang.String delim)
        Shows submenu of menu specified by a path parameter. Uses StringComparator assigned to the operator.
        Parameters:
        path - a string identifying the menu path.
        delim - a path delimiter.
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItems

        public JMenuItemOperator[] showMenuItems​(java.lang.String path)
        Shows submenu of menu specified by a path parameter. Uses PathParser assigned to this operator. Uses StringComparator assigned to the operator.
        Parameters:
        path - a string identifying the menu path.
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String[] path,
                                              Operator.StringComparator comparator)
        Expends all menus to show menu item specified by a path parameter.
        Parameters:
        path - an array of menu texts.
        comparator - a string comparision algorithm
        Returns:
        an operator for the last menu item in path.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String[] path)
        Expands all menus to show menu item specified by a path parameter.
        Parameters:
        path - an array of menu texts.
        Returns:
        an operator for the last menu item in path.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String path,
                                              java.lang.String delim,
                                              Operator.StringComparator comparator)
        Expands all menus to show menu item specified by a path parameter.
        Parameters:
        path - a string identifying the menu path.
        delim - a path delimiter.
        comparator - a string comparision algorithm
        Returns:
        an operator for the last menu item in path.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String path,
                                              Operator.StringComparator comparator)
        Expands all menus to show menu item specified by a path parameter. Uses PathParser assigned to this operator.
        Parameters:
        path - a string identifying the menu path.
        comparator - a string comparision algorithm
        Returns:
        an operator for the last menu item in path.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String path,
                                              java.lang.String delim)
        Expands all menus to show menu item specified by a path parameter. Uses StringComparator assigned to the operator.
        Parameters:
        path - a string identifying the menu path.
        delim - a path delimiter.
        Returns:
        an operator for the last menu item in path.
        Throws:
        TimeoutExpiredException
      • showMenuItem

        public JMenuItemOperator showMenuItem​(java.lang.String path)
        Expands all menus to show menu item specified by a path parameter. Uses PathParser assigned to this operator. Uses StringComparator assigned to the operator.
        Parameters:
        path - a string identifying the menu path.
        Returns:
        an array of operators created tor items from the submenu.
        Throws:
        TimeoutExpiredException
      • getDump

        public java.util.Hashtable getDump()
        Description copied from class: ComponentOperator
        Returns information about component.
        Overrides:
        getDump in class JComponentOperator
        Returns:
        a Hashtable containing name-value pairs.
      • add

        public javax.swing.JMenuItem add​(java.lang.String string)
        Maps JPopupMenu.add(String) through queue
      • add

        public javax.swing.JMenuItem add​(javax.swing.Action action)
        Maps JPopupMenu.add(Action) through queue
      • add

        public javax.swing.JMenuItem add​(javax.swing.JMenuItem jMenuItem)
        Maps JPopupMenu.add(JMenuItem) through queue
      • addPopupMenuListener

        public void addPopupMenuListener​(javax.swing.event.PopupMenuListener popupMenuListener)
        Maps JPopupMenu.addPopupMenuListener(PopupMenuListener) through queue
      • addSeparator

        public void addSeparator()
        Maps JPopupMenu.addSeparator() through queue
      • getComponentIndex

        public int getComponentIndex​(java.awt.Component component)
        Maps JPopupMenu.getComponentIndex(Component) through queue
      • getInvoker

        public java.awt.Component getInvoker()
        Maps JPopupMenu.getInvoker() through queue
      • getLabel

        public java.lang.String getLabel()
        Maps JPopupMenu.getLabel() through queue
      • getMargin

        public java.awt.Insets getMargin()
        Maps JPopupMenu.getMargin() through queue
      • getSelectionModel

        public javax.swing.SingleSelectionModel getSelectionModel()
        Maps JPopupMenu.getSelectionModel() through queue
      • getSubElements

        public javax.swing.MenuElement[] getSubElements()
        Maps JPopupMenu.getSubElements() through queue
      • getUI

        public javax.swing.plaf.PopupMenuUI getUI()
        Maps JPopupMenu.getUI() through queue
      • insert

        public void insert​(java.awt.Component component,
                           int i)
        Maps JPopupMenu.insert(Component, int) through queue
      • insert

        public void insert​(javax.swing.Action action,
                           int i)
        Maps JPopupMenu.insert(Action, int) through queue
      • isBorderPainted

        public boolean isBorderPainted()
        Maps JPopupMenu.isBorderPainted() through queue
      • isLightWeightPopupEnabled

        public boolean isLightWeightPopupEnabled()
        Maps JPopupMenu.isLightWeightPopupEnabled() through queue
      • menuSelectionChanged

        public void menuSelectionChanged​(boolean b)
        Maps JPopupMenu.menuSelectionChanged(boolean) through queue
      • pack

        public void pack()
        Maps JPopupMenu.pack() through queue
      • processKeyEvent

        public void processKeyEvent​(java.awt.event.KeyEvent keyEvent,
                                    javax.swing.MenuElement[] menuElement,
                                    javax.swing.MenuSelectionManager menuSelectionManager)
        Maps JPopupMenu.processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager) through queue
      • processMouseEvent

        public void processMouseEvent​(java.awt.event.MouseEvent mouseEvent,
                                      javax.swing.MenuElement[] menuElement,
                                      javax.swing.MenuSelectionManager menuSelectionManager)
        Maps JPopupMenu.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager) through queue
      • removePopupMenuListener

        public void removePopupMenuListener​(javax.swing.event.PopupMenuListener popupMenuListener)
        Maps JPopupMenu.removePopupMenuListener(PopupMenuListener) through queue
      • setBorderPainted

        public void setBorderPainted​(boolean b)
        Maps JPopupMenu.setBorderPainted(boolean) through queue
      • setInvoker

        public void setInvoker​(java.awt.Component component)
        Maps JPopupMenu.setInvoker(Component) through queue
      • setLabel

        public void setLabel​(java.lang.String string)
        Maps JPopupMenu.setLabel(String) through queue
      • setLightWeightPopupEnabled

        public void setLightWeightPopupEnabled​(boolean b)
        Maps JPopupMenu.setLightWeightPopupEnabled(boolean) through queue
      • setPopupSize

        public void setPopupSize​(int i,
                                 int i1)
        Maps JPopupMenu.setPopupSize(int, int) through queue
      • setPopupSize

        public void setPopupSize​(java.awt.Dimension dimension)
        Maps JPopupMenu.setPopupSize(Dimension) through queue
      • setSelected

        public void setSelected​(java.awt.Component component)
        Maps JPopupMenu.setSelected(Component) through queue
      • setSelectionModel

        public void setSelectionModel​(javax.swing.SingleSelectionModel singleSelectionModel)
        Maps JPopupMenu.setSelectionModel(SingleSelectionModel) through queue
      • setUI

        public void setUI​(javax.swing.plaf.PopupMenuUI popupMenuUI)
        Maps JPopupMenu.setUI(PopupMenuUI) through queue
      • show

        public void show​(java.awt.Component component,
                         int i,
                         int i1)
        Maps JPopupMenu.show(Component, int, int) through queue