< prev index next >

src/org/netbeans/jemmy/operators/JToolTipOperator.java

Print this page




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 package org.netbeans.jemmy.operators;
  26 
  27 import java.awt.Component;
  28 import java.awt.Window;
  29 import java.util.ArrayList;
  30 import java.util.Arrays;
  31 import java.util.Hashtable;
  32 import java.util.List;
  33 
  34 import javax.swing.JComponent;
  35 import javax.swing.JToolTip;
  36 import javax.swing.plaf.ToolTipUI;
  37 
  38 import org.netbeans.jemmy.ComponentChooser;
  39 import org.netbeans.jemmy.ComponentSearcher;

  40 import org.netbeans.jemmy.TimeoutExpiredException;

  41 import org.netbeans.jemmy.Waitable;

  42 
  43 /**
  44  * <BR>
  45  * <BR>
  46  * Timeouts used: <BR>
  47  * {@code ComponentOperator.WaitComponentTimeout} - time to wait component
  48  * displayed.<BR>
  49  * {@code ComponentOperator.WaitStateTimeout} - time to wait for tip text. <BR>
  50  *
  51  * @see org.netbeans.jemmy.Timeouts
  52  */
  53 public class JToolTipOperator extends JComponentOperator {
  54 


  55     /**
  56      * Identifier for a "tip text" property.
  57      *
  58      * @see #getDump()
  59      */
  60     public static final String TIP_TEXT_DPROP = "TipText";
  61 



  62     /**
  63      * Constructs a JToolTipOperator object, waiting for a shown
  64      * JToolTip.
  65      */
  66     public JToolTipOperator() {
  67         this(TRUE_CHOOSER);
  68     }
  69 
  70     /**
  71      * Constructs a JToolTipOperator object for a given JToolTip component.
  72      *
  73      * @param toolTip
  74      *            a component
  75      */
  76     public JToolTipOperator(JToolTip toolTip) {
  77         super(toolTip);
  78     }
  79 
  80     /**
  81      * Constructs a JToolTipOperator object waiting for the JToolTip having a


 269      * @return JToolTip instance.
 270      * @see TimeoutExpiredException
 271      */
 272     public static JToolTip waitJToolTip(ComponentChooser chooser) {
 273         return waitJToolTip(null, chooser);
 274     }
 275 
 276     /**
 277      * Waits for the JToolTip associated with the given component and
 278      * conforming to the specified component chooser.
 279      *
 280      * @param comp
 281      *            component on which tool tip associated
 282      * @param chooser
 283      *            a component chooser specifying searching criteria.
 284      * @return JToolTip instance.
 285      * @see TimeoutExpiredException
 286      */
 287     public static JToolTip waitJToolTip(ComponentOperator comp,
 288             ComponentChooser chooser) {
 289         return Operator.getEnvironmentOperator().
 290                 waitState(new Waitable<JToolTip, Void>() {
 291             @Override
 292             public JToolTip actionProduced(Void obj) {
 293                 return findJToolTip(comp, chooser);
 294             }
 295 
 296             @Override
 297             public String getDescription() {
 298                 return "Wait for JTooltip to be displayed for Component = "
 299                         + comp + ", " + "chooser = " + chooser;
 300             }
 301 
 302             @Override
 303             public String toString() {
 304                 return "JToolTipOperator.waitJToolTip.Waitable{description = "
 305                         + getDescription() + '}';
 306             }
 307         });












 308     }
 309 
 310     /**
 311      * Waits for the JToolTip associated with the given component and having
 312      * the given tip text compared using given string comparator options.
 313      *
 314      * @param comp
 315      *            component on which tool tip associated
 316      * @param tipText
 317      *            Tip text.
 318      * @param ce
 319      *            Compare text exactly.
 320      * @param ccs
 321      *            Compare text case sensitively.
 322      * @return JToolTip instance.
 323      * @see TimeoutExpiredException
 324      */
 325     public static JToolTip waitJToolTip(ComponentOperator comp, String tipText,
 326             boolean ce, boolean ccs) {
 327         return waitJToolTip(comp, new JToolTipByTipTextFinder(tipText,




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 package org.netbeans.jemmy.operators;
  26 
  27 import java.awt.Component;
  28 import java.awt.Window;
  29 import java.util.ArrayList;
  30 import java.util.Arrays;
  31 import java.util.Hashtable;
  32 import java.util.List;
  33 
  34 import javax.swing.JComponent;
  35 import javax.swing.JToolTip;
  36 import javax.swing.plaf.ToolTipUI;
  37 
  38 import org.netbeans.jemmy.ComponentChooser;
  39 import org.netbeans.jemmy.ComponentSearcher;
  40 import org.netbeans.jemmy.JemmyException;
  41 import org.netbeans.jemmy.TimeoutExpiredException;
  42 import org.netbeans.jemmy.Timeouts;
  43 import org.netbeans.jemmy.Waitable;
  44 import org.netbeans.jemmy.Waiter;
  45 
  46 /**
  47  * <BR>
  48  * <BR>
  49  * Timeouts used: <BR>
  50  * {@code ComponentOperator.WaitComponentTimeout} - time to wait component
  51  * displayed.<BR>
  52  * {@code ComponentOperator.WaitStateTimeout} - time to wait for tip text. <BR>
  53  *
  54  * @see org.netbeans.jemmy.Timeouts
  55  */
  56 public class JToolTipOperator extends JComponentOperator {
  57 
  58     private static long WAIT_TOOLTIP_TIMEOUT = 60000;
  59 
  60     /**
  61      * Identifier for a "tip text" property.
  62      *
  63      * @see #getDump()
  64      */
  65     public static final String TIP_TEXT_DPROP = "TipText";
  66 
  67     static {
  68         Timeouts.initDefault("JToolTipOperator.WaitToolTipTimeout", WAIT_TOOLTIP_TIMEOUT);
  69     }
  70     /**
  71      * Constructs a JToolTipOperator object, waiting for a shown
  72      * JToolTip.
  73      */
  74     public JToolTipOperator() {
  75         this(TRUE_CHOOSER);
  76     }
  77 
  78     /**
  79      * Constructs a JToolTipOperator object for a given JToolTip component.
  80      *
  81      * @param toolTip
  82      *            a component
  83      */
  84     public JToolTipOperator(JToolTip toolTip) {
  85         super(toolTip);
  86     }
  87 
  88     /**
  89      * Constructs a JToolTipOperator object waiting for the JToolTip having a


 277      * @return JToolTip instance.
 278      * @see TimeoutExpiredException
 279      */
 280     public static JToolTip waitJToolTip(ComponentChooser chooser) {
 281         return waitJToolTip(null, chooser);
 282     }
 283 
 284     /**
 285      * Waits for the JToolTip associated with the given component and
 286      * conforming to the specified component chooser.
 287      *
 288      * @param comp
 289      *            component on which tool tip associated
 290      * @param chooser
 291      *            a component chooser specifying searching criteria.
 292      * @return JToolTip instance.
 293      * @see TimeoutExpiredException
 294      */
 295     public static JToolTip waitJToolTip(ComponentOperator comp,
 296             ComponentChooser chooser) {
 297         Waitable<JToolTip, Void> waitable = new Waitable<JToolTip, Void>() {

 298             @Override
 299             public JToolTip actionProduced(Void obj) {
 300                 return findJToolTip(comp, chooser);
 301             }
 302 
 303             @Override
 304             public String getDescription() {
 305                 return "Wait for JTooltip to be displayed for Component = "
 306                         + comp + ", " + "chooser = " + chooser;
 307             }
 308 
 309             @Override
 310             public String toString() {
 311                 return "JToolTipOperator.waitJToolTip.Waitable{description = "
 312                         + getDescription() + '}';
 313             }
 314         };
 315         Waiter<JToolTip, Void> stateWaiter = new Waiter<>(waitable);
 316         stateWaiter.setTimeoutsToCloneOf(Operator.getEnvironmentOperator().
 317                 getTimeouts(), "JToolTipOperator.WaitToolTipTimeout");
 318         stateWaiter.setOutput(Operator.getEnvironmentOperator().
 319                 getOutput().createErrorOutput());
 320         try {
 321             return stateWaiter.waitAction(null);
 322         } catch (InterruptedException e) {
 323            Thread.currentThread().interrupt();
 324            throw (new JemmyException("Waiting of " + waitable.getDescription()
 325                + " state has been interrupted!"));
 326         }
 327     }
 328 
 329     /**
 330      * Waits for the JToolTip associated with the given component and having
 331      * the given tip text compared using given string comparator options.
 332      *
 333      * @param comp
 334      *            component on which tool tip associated
 335      * @param tipText
 336      *            Tip text.
 337      * @param ce
 338      *            Compare text exactly.
 339      * @param ccs
 340      *            Compare text case sensitively.
 341      * @return JToolTip instance.
 342      * @see TimeoutExpiredException
 343      */
 344     public static JToolTip waitJToolTip(ComponentOperator comp, String tipText,
 345             boolean ce, boolean ccs) {
 346         return waitJToolTip(comp, new JToolTipByTipTextFinder(tipText,


< prev index next >