package abbot.tester; import java.awt.Component; import javax.swing.*; /** Provides access to JPopupMenu contents. No special user actions. */ public class JPopupMenuTester extends JComponentTester { /** Return an identifying tag for the popup menu. */ public String deriveTag(Component comp) { Component invoker = ((JPopupMenu)comp).getInvoker(); return invoker == null ? "Popup menu" : "Popup on " + getTag(invoker); } /** Return the contents of the popup menu as a String array. */ public String[] getMenuLabels(Component comp) { JPopupMenu menu = (JPopupMenu)comp; MenuElement[] els = menu.getSubElements(); String[] result = new String[els.length]; for (int i=0;i < els.length;i++) { Component mi = els[i].getComponent(); if (mi instanceof JMenuItem) { result[i] = ((JMenuItem)mi).getText(); } else { result[i] = "-"; } } return result; } }