将菜单项添加到 Netbeans 平台菜单栏

Adding a Menu Item to Netbeans platform Menu Bar

我正在尝试为我的 netbeans 平台项目(我正在启动)的模块创建一个模拟菜单。

我想在 "File" 中创建一个新条目 "New",其中包含 "New Project" 和 "New Module"。

在重要文件 -> Xml 层 -> 上下文中的这一层 -> 菜单栏 -> 文件我创建了一个新文件夹 "New",它显示正常。

然后我添加了两个空文件,"New Project" 和 "New Module",但它们没有显示。

这里是layer.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="Actions">
        <folder name="File"/>
    </folder>
    <folder name="Menu">
        <folder name="File">
                            <folder name="New">
                <file name="New Module" url="New Module_2">
                    <attr name="requireProject" boolvalue="false"/>
                    <attr name="position" intvalue="800"/>
                </file>
                <file name="New Project" url="New Project_3">
                    <attr name="requireProject" boolvalue="false"/>
                    <attr name="position" intvalue="600"/>
                </file>
            </folder>
        </folder>
    </folder>
</filesystem>

我已经多次删除和创建这些文件,因此有后缀。我唯一添加的是位置。

我想我要么漏掉了什么,要么我误解了什么。我已阅读文档,但找不到答案。

那么,如何添加和显示菜单项?

我认为您的 <file name 应该指向 Action 的实例。例如:

<file name="org-netbeans-core-actions-SystemExit.shadow">
    <attr name="originalFile" stringvalue="Actions/System/org-netbeans-core-actions-SystemExit.instance"/>
    <attr name="position" intvalue="2600"/>
</file>

来自 NetBeans 文档:

The main menu of the application is composed by reading Menu/ folder in the layer. A sub folder is treated as a sub menu. Instances of individual files (usually .instance or .shadow) may then represent Action or JMenuItem or JSeparator.

来源:http://bits.netbeans.org/dev/javadoc/layers.html

也在这里: http://wiki.netbeans.org/DevFaqSystemFilesystem

您可以使用向导轻松创建操作。