Статьи

Совет. Как создать подменю на платформе NetBeans

Этот совет показывает, как я обычно создаю действие для приложения на платформе NetBeans, а затем включаю его в подменю.

  1. Создайте новый модуль, а затем используйте мастер действий для создания моего DemoAction .

  2. Первая панель запрашивает тип действия, я оставляю Всегда включенным. На следующих панелях я заполняю формы всеми необходимыми данными, как показано ниже:

  3. Как видите, ничего нового. А затем давайте настроим записи файла layer.xml, созданные мастером, показанным выше. Это то, что было сгенерировано:
    <? xml version = "1.0" encoding = "UTF-8"?> 
    <!
    PUBLIC файловой системы DOCTYPE "- // NetBeans // Файловая система DTD 1.2 // EN"
    "http://www.netbeans.org/dtds/filesystem -1_2.dtd ">
    <файловая система>
    <имя папки =" Действия ">
    <имя папки =" Редактировать ">
    <имя файла =" org-casaburo-submenuDemo-DemoAction.instance ">
    <attr name =" делегат "newvalue = "org.casaburo.submenuDemo.DemoAction" />
    <attr name = "displayName" bundlevalue = "org.casaburo.submenuDemo.Bundle # CTL_DemoAction" />
    <attr name = "iconBase" stringvalue = "org / casaburo / submenuDemo / add .png»/>
    <attr name = "instanceCreate" methodvalue = "org.openide.awt.Actions.alwaysEnabled" />
    <attr name = "noIconInMenu" boolvalue = "false" />
    </ file>
    </ folder>
    </ folder>
    <folder name = "Menu">
    <имя папки = "Edit">
    <имя файла = "org-casaburo -submenuDemo-DemoAction.shadow ">
    <attr name =" originalFile "stringvalue =" Actions / Edit / org-casaburo-submenuDemo-DemoAction.instance "/>
    <attr name =" position "intvalue =" 100 "/>
    </ file>
    </ folder>
    </ folder>
    <folder name = "Панели инструментов">
    <folder name = "File">
    <file name = "org-casaburo-submenuDemo-DemoAction.shadow">
    <attr name = "originalFile" stringvalue = "Actions / Edit / org-casaburo-submenuDemo-DemoAction.instance" />
    <attr name = "position" intvalue = "0" />
    </ file>
    </ folder>
    </ папка>
    </ filesystem>

     

    Теперь предположим, что я хочу разместить пункт меню «Демонстрация действий» в « Моем подменю ». Я изменяю layer.xml, как показано ниже (обратите внимание на строки с 20 по 25 ниже):

    <? xml version = "1.0" encoding = "UTF-8"?> 

    <! PUBLIC файловой системы DOCTYPE "- // NetBeans // Файловая система DTD 1.2 // EN"
    "http://www.netbeans.org/dtds/filesystem -1_2.dtd ">

    <файловая система>
    <имя папки =" Действия ">
    <имя папки =" Редактировать ">
    <имя файла =" org-casaburo-submenuDemo-DemoAction.instance ">
    <attr name =" делегат "newvalue = "org.casaburo.submenuDemo.DemoAction" />
    <attr name = "displayName" bundlevalue = "org.casaburo.submenuDemo.Bundle # CTL_DemoAction" />
    <attr name = "iconBase" stringvalue = "org / casaburo / submenuDemo / add .png "/>
    <attr name = "instanceCreate" methodvalue = "org.openide.awt.Actions.alwaysEnabled" />
    <attr name = "noIconInMenu" boolvalue = "false" />
    </ file>
    </ folder>
    </ folder>
    <folder name = "Menu">
    <имя папки = "Edit">
    <имя папки = "My Submenu" >
    <file name = "org-casaburo-submenuDemo-DemoAction.shadow">
    <attr name = "originalFile" stringvalue = "Actions / Edit / org-casaburo-submenuDemo-DemoAction.instance" />
    <attr name = "position" intvalue = "100" />
    </ file>
    </ folder>
    </ folder>
    </ folder>
    <папка имя = "Панели инструментов">
    <папка имя = "Файл">
    <имя файла = "org-casaburo-submenuDemo-DemoAction.shadow">
    <attr name = "originalFile" stringvalue = "Actions / Edit / org-casaburo-submenuDemo-DemoAction.instance" />
    <attr name = "position" intvalue = "0" />
    </ file>
    </ folder>
    </ папка>
    </ filesystem>

    И вот результат:

    Это все!