當前位置: 首頁>>代碼示例>>Java>>正文


Java MenuSelectionManager類代碼示例

本文整理匯總了Java中javax.swing.MenuSelectionManager的典型用法代碼示例。如果您正苦於以下問題:Java MenuSelectionManager類的具體用法?Java MenuSelectionManager怎麽用?Java MenuSelectionManager使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


MenuSelectionManager類屬於javax.swing包,在下文中一共展示了MenuSelectionManager類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: main

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
public static void main(String[] args) throws Exception {
    SwingUtilities.invokeAndWait(() -> {

        JPopupMenu popup = new JPopupMenu("Popup Menu");
        JMenu menu = new JMenu("Menu");
        menu.add(new JMenuItem("Menu Item"));
        popup.add(menu);
        menu.doClick();
        MenuElement[] elems = MenuSelectionManager
                .defaultManager().getSelectedPath();

        if (elems == null || elems.length == 0) {
            throw new RuntimeException("Empty Selection");
        }

        if (elems[0] != popup || elems[1] != menu) {
            throw new RuntimeException("Necessary menus are not selected!");
        }
    });
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:21,代碼來源:JPopupMenuEndlessLoopTest.java

示例2: processKeyEvent

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager) {
    if (isReturnAction(e)) { // Handle SPACE and ENTER
        MenuElement[] p = manager.getSelectedPath();
        MenuElement m = p != null && p.length > 0 ? p[p.length - 1] : null;
        if (m instanceof StayOpen) {
            e.consume();
            if (e.getID() == KeyEvent.KEY_PRESSED)
                performAction((StayOpen)m, e.getModifiers());
            return;
        }
    } else for (Component component : getComponents()) { // Handle mnemonics and accelerators
        if (component instanceof StayOpen) {
            StayOpen item = (StayOpen)component;
            JMenuItem i = item.getItem();
            KeyStroke k = KeyStroke.getKeyStrokeForEvent(e);
            if (k.equals(mnemonic(i)) || k.equals(i.getAccelerator())) {
                e.consume();
                manager.setSelectedPath(new MenuElement[] { this, i });
                performAction(item, e.getModifiers());
                return;
            }
        }
    }
    
    super.processKeyEvent(e, path, manager);
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:27,代碼來源:StayOpenPopupMenu.java

示例3: showDialog

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
@BeforeMethod public void showDialog() throws Throwable {
    JavaElementFactory.add(JMenuItem.class, JMenuItemJavaElement.class);
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override public void run() {
            frame = new JFrame(JMenuItemJavaElementTest.class.getSimpleName());
            frame.setName("frame-" + JMenuItemJavaElementTest.class.getSimpleName());
            MenuDemo demo = new MenuDemo();
            frame.setJMenuBar(demo.createMenuBar());
            frame.setContentPane(demo.createContentPane());
            frame.pack();
            frame.setAlwaysOnTop(true);
            frame.setVisible(true);
        }
    });
    MenuSelectionManager.defaultManager().clearSelectedPath();
    driver = new JavaAgent();
    menus = driver.findElementsByTagName("menu");
    AMenu = menus.get(0);

}
 
開發者ID:jalian-systems,項目名稱:marathonv5,代碼行數:21,代碼來源:JMenuItemJavaElementTest.java

示例4: showDialog

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
@BeforeMethod public void showDialog() throws Throwable {
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override public void run() {
            frame = new JFrame(JMenuItemJavaElement2Test.class.getSimpleName());
            frame.setName("frame-" + JMenuItemJavaElement2Test.class.getSimpleName());
            PopupMenuDemoX demo = new PopupMenuDemoX();
            frame.setJMenuBar(demo.createMenuBar());
            frame.setContentPane(demo.createContentPane());

            // Create and set up the popup menu.
            demo.createPopupMenu();

            frame.pack();
            frame.setAlwaysOnTop(true);
            frame.setVisible(true);
        }
    });
    MenuSelectionManager.defaultManager().clearSelectedPath();
    JavaElementFactory.add(JMenuItem.class, JMenuItemJavaElement.class);
}
 
開發者ID:jalian-systems,項目名稱:marathonv5,代碼行數:21,代碼來源:JMenuItemJavaElement2Test.java

示例5: showDialog

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
@BeforeMethod public void showDialog() throws Throwable {
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override public void run() {
            frame = new JFrame(JPopupMenuTest.class.getSimpleName());
            frame.setName("frame-" + JPopupMenuTest.class.getSimpleName());
            PopupMenuDemo demo = new PopupMenuDemo();
            frame.setJMenuBar(demo.createMenuBar());
            frame.setContentPane(demo.createContentPane());

            // Create and set up the popup menu.
            demo.createPopupMenu();

            frame.pack();
            frame.setAlwaysOnTop(true);
            frame.setVisible(true);
        }
    });
    MenuSelectionManager.defaultManager().clearSelectedPath();
}
 
開發者ID:jalian-systems,項目名稱:marathonv5,代碼行數:20,代碼來源:JPopupMenuTest.java

示例6: postProcessKeyEvent

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
public boolean postProcessKeyEvent(KeyEvent ev) {
    if(ev.isConsumed() && ev.getKeyCode() != KeyEvent.VK_ALT) {
        // mnemonic combination, it's consumed, but we need
        // set altKeyPressed to false, otherwise after selection
        // component by mnemonic combination a menu will be open
        altKeyPressed = false;
        return false;
    }
    if (ev.getKeyCode() == KeyEvent.VK_ALT) {
        root = SwingUtilities.getRootPane(ev.getComponent());
        winAncestor = (root == null ? null :
                SwingUtilities.getWindowAncestor(root));

        if (ev.getID() == KeyEvent.KEY_PRESSED) {
            if (!altKeyPressed) {
                altPressed(ev);
            }
            altKeyPressed = true;
            return true;
        } else if (ev.getID() == KeyEvent.KEY_RELEASED) {
            if (altKeyPressed) {
                altReleased(ev);
            } else {
                MenuSelectionManager msm =
                    MenuSelectionManager.defaultManager();
                MenuElement[] path = msm.getSelectedPath();
                if (path.length <= 0) {
                    WindowsLookAndFeel.setMnemonicHidden(true);
                    WindowsGraphicsUtils.repaintMnemonicsInWindow(winAncestor);
                }
            }
            altKeyPressed = false;
        }
        root = null;
        winAncestor = null;
    } else {
        altKeyPressed = false;
    }
    return false;
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:41,代碼來源:WindowsRootPaneUI.java

示例7: altPressed

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
void altPressed(KeyEvent ev) {
    MenuSelectionManager msm =
        MenuSelectionManager.defaultManager();
    MenuElement[] path = msm.getSelectedPath();
    if (path.length > 0 && ! (path[0] instanceof ComboPopup)) {
        msm.clearSelectedPath();
        menuCanceledOnPress = true;
        ev.consume();
    } else if(path.length > 0) { // We are in ComboBox
        menuCanceledOnPress = false;
        WindowsLookAndFeel.setMnemonicHidden(false);
        WindowsGraphicsUtils.repaintMnemonicsInWindow(winAncestor);
        ev.consume();
    } else {
        menuCanceledOnPress = false;
        WindowsLookAndFeel.setMnemonicHidden(false);
        WindowsGraphicsUtils.repaintMnemonicsInWindow(winAncestor);
        JMenuBar mbar = root != null ? root.getJMenuBar() : null;
        if(mbar == null && winAncestor instanceof JFrame) {
            mbar = ((JFrame)winAncestor).getJMenuBar();
        }
        JMenu menu = mbar != null ? mbar.getMenu(0) : null;
        if(menu != null) {
            ev.consume();
        }
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:28,代碼來源:WindowsRootPaneUI.java

示例8: hide

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
/**
 * This method hides drop down list of items
 */
public void hide()
{
  MenuSelectionManager menuSelectionManager =
    MenuSelectionManager.defaultManager();
  javax.swing.MenuElement[] menuElements =
    menuSelectionManager.getSelectedPath();
  for (int i = 0; i < menuElements.length; i++)
    {
      if (menuElements[i] == this)
        {
          menuSelectionManager.clearSelectedPath();
          break;
        }
    }
  comboBox.repaint();
}
 
開發者ID:vilie,項目名稱:javify,代碼行數:20,代碼來源:BasicComboPopup.java

示例9: actionPerformed

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
/**
 * Performs the action.
 */
public void actionPerformed(ActionEvent event)
{
  // In the JDK this action seems to pop up the first menu of the
  // menu bar.
  JMenuBar menuBar = (JMenuBar) event.getSource();
  MenuSelectionManager defaultManager =
    MenuSelectionManager.defaultManager();
  MenuElement me[];
  MenuElement subElements[];
  JMenu menu = menuBar.getMenu(0);
  if (menu != null)
    {
      me = new MenuElement[3];
      me[0] = (MenuElement) menuBar;
      me[1] = (MenuElement) menu;
      me[2] = (MenuElement) menu.getPopupMenu();
      defaultManager.setSelectedPath(me);
    }
}
 
開發者ID:vilie,項目名稱:javify,代碼行數:23,代碼來源:BasicMenuBarUI.java

示例10: installUI

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
/**
 * Installs and initializes all fields for this UI delegate. Any properties
 * of the UI that need to be initialized and/or set to defaults will be
 * done now. It will also install any listeners necessary.
 *
 * @param c The {@link JComponent} that is having this UI installed.
 */
public void installUI(JComponent c)
{
  super.installUI(c);

  // Install KeyboardHelper when the first popup is initialized.
  if (numPopups == 0)
    {
      keyboardHelper = new KeyboardHelper();
      MenuSelectionManager msm = MenuSelectionManager.defaultManager();
      msm.addChangeListener(keyboardHelper);
    }
  numPopups++;

  popupMenu = (JPopupMenu) c;
  popupMenu.setLayout(new DefaultMenuLayout(popupMenu, BoxLayout.Y_AXIS));
  popupMenu.setBorderPainted(true);
  JPopupMenu.setDefaultLightWeightPopupEnabled(true);

  installDefaults();
  installListeners();
  installKeyboardActions();
}
 
開發者ID:vilie,項目名稱:javify,代碼行數:30,代碼來源:BasicPopupMenuUI.java

示例11: uninstallUI

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
/**
 * Performs the opposite of installUI. Any properties or resources that need
 * to be cleaned up will be done now. It will also uninstall any listeners
 * it has. In addition, any properties of this UI will be nulled.
 *
 * @param c The {@link JComponent} that is having this UI uninstalled.
 */
public void uninstallUI(JComponent c)
{
  uninstallListeners();
  uninstallDefaults();
  uninstallKeyboardActions();
  popupMenu = null;

  // Install KeyboardHelper when the first popup is initialized.
  numPopups--;
  if (numPopups == 0)
    {
      MenuSelectionManager msm = MenuSelectionManager.defaultManager();
      msm.removeChangeListener(keyboardHelper);
    }

}
 
開發者ID:vilie,項目名稱:javify,代碼行數:24,代碼來源:BasicPopupMenuUI.java

示例12: actionPerformed

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
@Override public void actionPerformed(ActionEvent ev) {
    Help h = (Help)Lookup.getDefault().lookup(Help.class);
    if (h == null) {
        Toolkit.getDefaultToolkit().beep();
        return;
    }

    HelpCtx help;
    
    final MenuElement[] path =
        MenuSelectionManager.defaultManager().getSelectedPath();

    if (path != null
        && path.length > 0
        && !(path[0].getComponent() instanceof javax.swing.plaf.basic.ComboPopup)
        ) {
        help = HelpCtx.findHelp(path[path.length - 1].getComponent());
        
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                MenuElement[] newPath =
                    MenuSelectionManager.defaultManager().getSelectedPath();

                if (newPath.length != path.length)
                    return;
                for (int i = 0; i < newPath.length; i++) {
                    if (newPath[i] != path[i])
                        return;
                }
                MenuSelectionManager.defaultManager().clearSelectedPath();
            }
        });
    }
    else {
        help = findHelpCtx();
    }
    
    StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage(HelpAction.class, "CTL_OpeningHelp"));
    h.showHelp (help);
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:41,代碼來源:HelpAction.java

示例13: doShow

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
private void doShow () {
    //#206802 - dialog windows are hidden behind full screen window
    Window fullScreenWindow = null;
    if( Utilities.isUnix() ) {
        GraphicsDevice gd = getGraphicsConfiguration().getDevice();
        if( gd.isFullScreenSupported() ) {
            fullScreenWindow = gd.getFullScreenWindow();
            if( null != fullScreenWindow )
                gd.setFullScreenWindow( null );
        }
    }
    NbPresenter prev = null;
    try {
        MenuSelectionManager.defaultManager().clearSelectedPath();
    } catch( NullPointerException npE ) {
        //#216184
        LOG.log( Level.FINE, null, npE );
    }
    if (isModal()) {
        prev = currentModalDialog;
        currentModalDialog = this;
        fireChangeEvent();
    }
    
    superShow();

    if( null != fullScreenWindow )
        getGraphicsConfiguration().getDevice().setFullScreenWindow( fullScreenWindow );
    
    if (currentModalDialog != prev) {
        currentModalDialog = prev;
        fireChangeEvent();
    }
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:35,代碼來源:NbPresenter.java

示例14: showMenuPath

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
/**
 * Show and select menu at a given path. Used to restore a menu after click.
 */
private void showMenuPath(MenuElement[] selectedPath) {
    if (selectedPath != null && selectedPath.length > 1) {
        if (selectedPath[0] instanceof JPopupMenu) {
            ((JPopupMenu) selectedPath[0]).setVisible(true);
            MenuSelectionManager.defaultManager().setSelectedPath(
                    selectedPath);
        }
    }
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:13,代碼來源:AbstractQuickSearchComboBar.java

示例15: AllMenuItem

import javax.swing.MenuSelectionManager; //導入依賴的package包/類
public AllMenuItem(Set<Category> evalCats) {
    this.evalCats = evalCats;
    this.totalCount = ProviderModel.getInstance()
            .getCategories().size();
    getModel().addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
            if (isShowing() && model.isArmed()) {
                selectedPath = MenuSelectionManager.defaultManager()
                        .getSelectedPath();
            }
        }
    });
    addActionListener(this);
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:16,代碼來源:AbstractQuickSearchComboBar.java


注:本文中的javax.swing.MenuSelectionManager類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。