Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Swing
-
Labels:None
-
Environment:Eclipse on Windows
-
Testcase included:yes
-
Number of attachments :
Description
I am unable to find JOptionPane when testing a Java swing applet.
Here is the code that executes the swing component from the Swing applet:
int choose = JOptionPane.showOptionDialog(null, "Click Yes to confirm the commit",
"Click Yes to confirm the commit", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options,
options[0]);
// int choose = JOptionPane.showConfirmDialog(null,
// "Click Yes to confirm the commit.", "Click Yes to confirm the commit",
// JOptionPane.YES_NO_OPTION);
// if (choose == JOptionPane.YES_OPTION){
if (choose == YesOption)
Here is my FEST test code that tries to locate it:
JOptionPaneFixture option_pane = m_navigator.optionPane();
public JOptionPaneFixture optionPane()
{ return frame.optionPane(); }/**
{@inheritDoc} */public JOptionPaneFixture optionPane() { return optionPane(DEFAULT_DIALOG_LOOKUP_TIMEOUT); }
/** {@inheritDoc}
*/
public JOptionPaneFixture optionPane(Timeout timeout)
Here is the error I get:
Error (org.fest.swing.exception.WaitTimedOutError: Timed out waiting for option pane to be found using matcher org.fest.swing.core.TypeMatcher[type=javax.swing.JOptionPane, requireShowing=true])
NOTE 1: Strangely enough though it may seem, I am able to find a JOptionPane only when the Swing applet launches the component like the following unlike the one stated above:
JOptionPane.showMessageDialog((Component) cbDraw, "need to input a numerical value between high and low!");
Not sure if this is of any significance or not but it's worth mentioning.
NOTE 2: Also I'm not certain whether this issue has anything to do with owner less windows (parent less windows) or the AWT hierarchy state. I've also tried a GenericTypeMatcher search as well. The component does not even show up when dumping out the hierarchy in the logs. Please advise.