package org.fest.swing.driver;
import static org.fest.swing.edt.GuiActionRunner.execute;
import static org.fest.util.Preconditions.checkNotNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
import org.fest.swing.annotation.RunsInEDT;
import org.fest.swing.edt.GuiQuery;
/**
* Returns the pop-up menu associated with a {@link JMenu}. This query is executed in the event dispatch thread (EDT.)
*
* @author Alex Ruiz
* @author Yvonne Wang
*/
final class JMenuPopupMenuQuery {
@RunsInEDT
static @Nonnull JPopupMenu popupMenuOf(final @Nonnull JMenu menu) {
JPopupMenu result = execute(new GuiQuery<JPopupMenu>() {
@Override
protected @Nullable JPopupMenu executeInEDT() {
return menu.getPopupMenu();
}
});
return checkNotNull(result);
}
private JMenuPopupMenuQuery() {}
}