|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.core.ui; import java.lang.reflect.*; import java.awt.Component; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.util.Set; import java.util.LinkedHashSet; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.SwingUtilities; import org.openide.util.Utilities; import org.openide.windows.WindowManager; import org.openide.util.RequestProcessor; import org.openide.filesystems.FileSystem; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.FileStateInvalidException; /** * A menu preheating task. It is referenced from the layer and may be performed * by the core after the startup. * * Plus hooked WindowListener on main window (see {@link NbWindowsAdapter}) */ public final class MenuWarmUpTask implements Runnable { private Component[] comps; /** * Issue 32733 - the keyboard shortcut for FIND will use this method to * determine its visibility. For non-solaris operating systems, there is * no find key (XXX ask the HP folks about VMS), so that shouldn't be the * shortcut displayed in the menu. * * While this method doesn't really belong in a warmup task, it's silly to * create an extra class just for this sort of thing. */ public static boolean isNotSolaris() { return Utilities.getOperatingSystem() != Utilities.OS_SOLARIS; } /** * Used to determine whether to bind Delete or Backspace to DeleteAction - * mac keyboards don't have a delete key. */ public static boolean isMac() { return Utilities.getOperatingSystem() == Utilities.OS_MAC; } /** * Used to determine whether to bind Delete or Backspace to DeleteAction - * mac keyboards don't have a delete key. */ public static boolean isNotMac() { return !isMac(); } /** Actually performs pre-heat. */ public void run() { try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { Frame main = WindowManager.getDefault().getMainWindow(); assert main != null; main.addWindowListener(new NbWindowsAdapter()); if (main instanceof JFrame) { comps = ((JFrame) main).getJMenuBar().getComponents(); } } }); } catch (Exception e) { // bail out! return; } if (comps != null) { walkMenu(comps); comps = null; } // tackle the Tools menu now? How? } private void walkMenu(Component[] items) { for (int i=0; i |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.