KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openide > awt > DynamicMenuContent


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.openide.awt;
21
22 import javax.swing.JComponent JavaDoc;
23
24 /**
25  * Dynamic result of a {@link org.openide.util.actions.Presenter.Menu} or {@link org.openide.util.actions.Presenter.Popup}. If the presenters return
26  * an instance of <code>DynamicMenuContent</code>, then the framework code
27  * will use it's methods to populate the menu and keep it uptodate.
28  * @author mkleint
29  * @since org.openide.awt 6.5
30  */

31 public interface DynamicMenuContent {
32     /**
33      * Create main menu/popup menuitems. Null values will be later replaced by JSeparators.
34      * This method is called for popups and for menus. It's called each time a popup menu is contructed and just
35      * once for the main menu. Main menu updates happen through the <code>synchMenuPresenters()</code> method.
36      * If you want different behaviour for menu and popup,
37      * use a different implementation returned by {@link org.openide.util.actions.Presenter.Popup} and {@link org.openide.util.actions.Presenter.Menu}.
38      */

39     public JComponent JavaDoc[] getMenuPresenters();
40     
41     /**
42      * update main menu presenters. This method is called only by the main menu processing.
43      * @param items the previously used menuitems returned by previous call to <code>getMenuPresenters()</code> or <code>synchMenuPresenters()</code>
44      * @return a new set of items to show in menu. Can be either an updated old set of instances or a completely new one.
45      */

46     public JComponent JavaDoc[] synchMenuPresenters(JComponent JavaDoc[] items);
47 }
48
Popular Tags