<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> | |
<!-- -*- xhtml -*- --> | |
<title>Руковод�?тво по интеграции типов файлов на платформе NetBeans 6.0</title> | |
<link rel="stylesheet" type="text/css" href="../../../netbeans.css"> | |
<meta name="AUDIENCE" content="NBUSER"> | |
<meta name="TYPE" content="ARTICLE"> | |
<meta name="EXPIRES" content="N"> | |
<meta name="developer" content="gwielenga@netbeans.org"> | |
<meta name="indexed" content="y"> | |
<meta name="description" | |
content="A short guide to using the Nodes API."> | |
<!-- Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. --> | |
<!-- Use is subject to license terms.--> | |
</head> | |
<body> | |
<h1>Руковод�?тво по интеграции типов файлов</h1> | |
<p>В �?том руковод�?тве ра�?�?матривает�?�? напи�?ание модул�?, позвол�?ющего �?реде IDE или любому другому приложению на базе платформы NetBeans ра�?познать новый тип файлов. | |
</p><p><b>Содержание</b></p> | |
<img src="../../images/articles/60/netbeans-stamp60-61.gif" class="stamp" width="114" height="114" alt="Содержимое на �?той �?транице отно�?ит�?�? к �?реде IDE NetBeans 6.1" title="Содержимое на �?той �?транице отно�?ит�?�? к �?реде IDE NetBeans 6.1"> </p> | |
<ul class="toc"> | |
<li><a href="#intro">Введение в интеграцию типов файлов</a></li> | |
<li><a href="#creating">Создание проекта модул�?</a></li> | |
<li><a href="#recognizing">Ра�?познавание файлов "Abc"</a></li> | |
<li><a href="#adding">Создание возможно�?тей дл�? файлов "Abc"</a></li> | |
<ul> | |
<li><a href="#action">Добавление дей�?твий</a> | |
</li><li><a href="#topcomponent">Открытие файла в окне</a> | |
</li></ul> | |
<li><a href="#building">У�?тановка модул�? типа файлов "Abc"</a></li> | |
</ul> | |
<p><b>Дл�? работы �? �?тим руковод�?твом требует�?�? программное обе�?печение и ре�?ур�?ы, перечи�?ленные в �?ледующей таблице. </b></p> | |
<table> | |
<tbody> | |
<tr> | |
<th class="tblheader" scope="col">Программное обе�?печение или ре�?ур�?</th> | |
<th class="tblheader" scope="col">Требуема�? вер�?и�?</th> | |
</tr> | |
<tr> | |
<td class="tbltd1">Среда IDE NetBeans</td> | |
<td class="tbltd1">вер�?и�? <a href="http://download.netbeans.org/netbeans/6.1/final/">вер�?и�? 6.1</a> или<br> | |
вер�?и�? 6.0</td> | |
</tr> | |
<tr> | |
<td class="tbltd1">Комплект дл�? разработчика на �?зыке Java (JDK)</td> | |
<td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">вер�?и�? 6</a> или<br> | |
вер�?и�? 5</td> | |
</tr> | |
</tbody> | |
</table> | |
<h2 class="tutorial"><a name="intro"></a>Введение в интеграцию типов файлов</h2> | |
<p>Типы файлов, ра�?познаваемые в �?реде IDE, имеют �?об�?твенные значки, пункты меню и поведение. Отображаемые "файлы" �?вл�?ют�?�? объектами <tt>FileObject</tt> – обертками дл�? <tt>java.io.File</tt> или, в �?лучае файлов на�?тройки, обычными обертками дл�? данных, �?охраненных иным �?по�?обом, например, внутри файлов XML в модул�?х. Фактиче�?ки <i>видимыми</i> �?вл�?ют�?�? узлы (<tt>Nodes</tt>), предо�?тавл�?ющие функциональные возможно�?ти, такие как дей�?тви�? и локализованные имена, дл�? различных объектов, в том чи�?ле файлов. Между узлами (<tt>Nodes</tt>) и объектами файлов (<tt>FileObjects</tt>) наход�?т�?�? объекты данных (<tt>DataObjects</tt>). Объект <tt>DataObject</tt> похож на <tt>FileObject</tt> за и�?ключением того, что он обладает информацией об отображаемом файле. Дл�? файлов �? различными ра�?ширени�?ми и файлов XML �? различными про�?тран�?твами имен обычно и�?пользуют�?�? различные типы <tt>DataObject</tt>. Каждый из <tt>DataObject</tt> пред�?тавлен различными модул�?ми, реализующими поддержку одного или более типа файлов. �?апример, модуль "Image" обе�?печивает ра�?познавание и открытие файлов �? ра�?ширени�?ми <tt>.gif</tt> и <tt>.png</tt>. | |
</p><p>Модуль, ра�?познающий тип файлов, у�?танавливает загрузчик <tt>DataLoader</tt> – фабрику дл�? <tt>DataObject</tt> по �?оответ�?твующему типу файла. При разворачивании папки �?реда IDE задает каждому изве�?тному <tt>DataLoader</tt> вопро�? о том, изве�?тно ли ему, что �?то такое. Первый ответивший "Да" �?оздает дл�? файла объект <tt>DataObject</tt>. Дл�? отображени�? чего-либо дл�? каждого файла вызывают�?�? <tt>DataObject.getNodeDelegate()</tt> по каждому <tt>DataObject</tt>; фактиче�?ки в �?реде IDE отображают�?�? узлы (<tt>Nodes</tt>). | |
</p><p>�?а приведенной �?лева внизу �?хеме показано, что обе�?печивает каждый упом�?нутый выше �?лемент: | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/diagram-dataobject2.png" alt="Схема"> | |
</p><p>В �?том руковод�?тве будет �?оздан модуль, у�?танавливающий <tt>DataLoader</tt> дл�? воображаемых файлов "Abc" (ра�?ширение файла <tt>.abc</tt>). По умолчанию файлы �? ра�?ширением "abc" обрабатывают�?�? как и любые другие файлы, не ра�?познаваемые �?редой IDE: они во�?принимают�?�? как тек�?товые файлы, и в результате �?реда IDE предо�?тавл�?ет дл�? файлов "Abc" те же �?амые функциональные возможно�?ти, что и дл�? тек�?товых файлов. По�?ле �?оздани�? модул�? будет показано, как ра�?ширить его функциональными возможно�?т�?ми, которые будут до�?тупны только файлам "Abc". По завершении цикла разработки можно разрешить другим пользовател�?м и�?пользовать модуль – �?реда IDE позвол�?ет �?оздать двоичный файл и передать его другим пользовател�?м, которые затем могут у�?тановить его �? помощью центра обновлений. | |
<!-- ===================================================================================== --> | |
</p><h2 class="tutorial"><a name="creating"></a>Создание проекта модул�?</h2> | |
<p>В �?том разделе �? помощью ма�?тера будут �?озданы �?труктуры и�?ходных файлов, необходимые дл�? каждого модул�? NetBeans. Структура и�?ходных файлов �?о�?тоит из определенных папок в конкретных ме�?тах и из р�?да в�?егда требуемых файлов. �?апример, каждый модуль NetBeans требует наличи�? папки "nbproject", �?одержащей метаданные проекта, и файла <tt>layer.xml</tt> дл�? декларативной реги�?трации �?лементов, таких как, например, кнопки на панели ин�?трументов и окна. | |
</p><ol> | |
<li>Выберите "File > New Project" (Ctrl-Shift-N). В обла�?ти "Categories" выберите "NetBeans Modules". В обла�?ти "Projects" выберите "Module" и нажмите кнопку "Next".</li> | |
<li>�?а �?кране "Name and Location" введите <tt>AbcFileType</tt> в поле "Project Name". В поле "Project Location" укажите любой каталог на компьютере, например, <tt>c:\mymodules</tt>. О�?тавьте переключатель "Standalone Module" выбранным. Экран должен выгл�?деть �?ледующим образом: | |
<p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-projectwizard1.png" alt="Ма�?тер �?оздани�? проекта: первый �?кран"> | |
</p><p>�?ажмите кнопку "Next". | |
</p></li><li>�?а �?кране "Basic Module Configuration" замените <tt>yourorghere</tt> в поле "Code Name Base" на <tt>myorg</tt>; чтобы о�?нова названи�? кода выгл�?дела как <tt>org.myorg.abcfiletype</tt>. Добавьте пробелы к значению пол�? "Module Display Name" по умолчанию; им�? должно изменить�?�? на <tt>Abc File Type</tt>. �?е измен�?йте ме�?тоположение пакета локализации и файла layer.xml дл�? их �?охранени�? в пакете �? именем <tt>org/myorg/abcfiletype</tt>. Экран должен выгл�?деть �?ледующим образом: | |
<p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-projectwizard2.png" alt="Ма�?тер �?оздани�? проекта: второй �?кран"> | |
</p></li><li>�?ажмите кнопку "Finish".</li></ol> | |
<p> Средой IDE будет �?оздан проект <tt>Abc File Type</tt>. Проект �?одержит в�?е и�?ходные файлы и метаданные проекта, например, �?ценарий �?борки Ant. Проект открывает�?�? в �?реде IDE. Логиче�?кую �?труктуру проекта можно про�?мотреть в окне "Projects" (Ctrl-1), а �?труктуру файлов – в окне "Files" (Ctrl-2). �?апример, окно "Projects" теперь должно выгл�?деть �?ледующим образом: | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-projectswindow1.png" alt="�?ачальное окно "Projects""> | |
<br /> | |
<!-- ===================================================================================== --> | |
</p><h2><a name="recognizing"></a>Ра�?познавание файлов "Abc"</h2> | |
<p>В �?том разделе �? помощью ма�?тера будут �?озданы кла�?�?ы, необходимые дл�? ра�?познавани�? файлов "Abc", отличающих�?�? от о�?тальных файлов. Как было опи�?ано в начале �?того руковод�?тва, дл�? �?того необходимы объект данных и загрузчик данных, а также преобразователь типа MIME и реги�?трационные запи�?и в файле <tt>layer.xml</tt>. Их можно �?оздать �? помощью ма�?тера �?оздани�? типов файлов ("New File Type"). | |
</p><ol> | |
<li>Щелкните правой кнопкой мыши узел проекта и выберите "New > File Type".</li> | |
<li>�?а �?кране "File Recognition" выполните �?ледующие дей�?тви�?: | |
<p></p><ul><li>Введите <tt>text/x-abc</tt> в поле "MIME Type". | |
</li><li>Введите <tt>.abc .ABC</tt> в поле "by Filename Extension".</li></ul> | |
<p>Теперь �?кран "File Recognition" должен выгл�?деть �?ледующим образом: | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-filewizard1.png" alt="Ма�?тер �?оздани�? типов файлов: первый �?кран"> | |
</p><p>Обратите внимание на �?ледующие пол�? на �?кране "File Recognition": | |
</p><ul> | |
<li><b>MIME Type.</b> Указывает уникальный дл�? объекта данных тип MIME. | |
</li><li>by | |
<ul><li><b>Filename Extension.</b> Указывает одно или более ра�?ширение файлов, которое �?реда IDE ра�?познает как указатель на принадлежно�?ть к у�?тановленному типу MIME. Ра�?ширению файла также может предше�?твовать точка. В каче�?тве разделителей могут вы�?тупать зап�?тые, пробелы или и то, и другое. По�?тому допу�?тимы в�?е �?ледующие варианты: | |
<p></p><ul><li><tt>.abc,.def</tt> | |
</li><li><tt>.abc .def</tt> | |
</li><li><tt>abc def</tt> | |
</li><li><tt>abc,.def ghi, .wow</li></ul></tt> | |
<p>Пред�?тавим �?ебе, что файлы "Abc" чув�?твительны к реги�?тру. Дл�? �?того в �?том руковод�?тве указано <i>два</i> типа MIME – <tt>.abc</tt> и <tt>.ABC</tt>. | |
</p></li><li><b>XML Root Element.</b> Указывает уникальное про�?тран�?тво имен, которое отличает тип файлов XML от в�?ех других типов файлов XML. Так как большое количе�?тво файлов XML имеет одинаковое ра�?ширение имени файла (<tt>xml</tt>), �?реда IDE различает файлы XML по их корневым �?лементам XML. Это означает, что �?реда IDE может различать про�?тран�?тва имен и первый �?лемент XML в файлах XML. Этим можно во�?пользовать�?�?, например, дл�? различени�? де�?крипторов развертывани�? JBoss и WebLogic. Это гарантирует, что пункты меню, добавл�?емые к контек�?тному меню де�?криптора JBoss, не до�?тупны де�?криптору WebLogic. Пример приведен в документе <a href="nbm-palette-api2.html">Руковод�?тво по модулю палитры �?лементов в �?реде NetBeans</a>. | |
</li></ul></li></ul> | |
<p>�?ажмите кнопку "Next". | |
</p></li><li>�?а �?кране "Name and Location" введите <tt>Abc</tt> в каче�?тве "Class Name Prefix" и выберите любое изображение размером 16x16 пик�?елей в каче�?тве нового значка типа файлов, как показано ниже. | |
<p align="left"></p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-filewizard2.png" alt="Ма�?тер �?оздани�? типов файлов: второй �?кран"> | |
</p><p><b>Примечание: </b>Можно и�?пользовать любой значок. При необходимо�?ти можно щелкнуть �?тот значок и �?охранить его локально, а затем указать его на показанном выше �?кране ма�?тера: <img border="1" src="../../images/tutorials/filetype/Datasource.gif" alt="Datasource.gif"> | |
</p></li><li>�?ажмите кнопку "Finish". | |
<p></p><p>Окно "Projects" теперь должно выгл�?деть �?ледующим образом: | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-projectswindow2.png" alt="Итоговое окно "Projects""></p></li> | |
<p>�?иже кратко пред�?тавлен каждый из недавно �?озданных файлов: | |
</p><ul> | |
<li><b>AbcDataLoader.java.</b> Ра�?познает тип MIME <tt>text/x-abc</tt>. Функции как фабрика дл�? <tt>AbcDataObject.java</tt>. Дл�? получени�? дополнительных �?ведений �?м. раздел <a href="http://wiki.netbeans.org/wiki/view/Netbeans/DevFaqDataLoader">Что такое DataLoader?</a>. | |
</li><li><b>AbcResolver.xml.</b> Отображает ра�?ширени�? файла <tt>.abc</tt> и <tt>.ABC</tt> на тип MIME. <tt>AbcDataLoader</tt> только ра�?познает тип MIME и не учитывает ра�?ширение файла. | |
</li><li><b>AbcDataObject.java.</b> Обертывает <tt>FileObject</tt>. Объекты DataObject �?оздают�?�? загрузчиками DataLoader. Дл�? получени�? дополнительных �?ведений �?м. раздел <a href="http://wiki.netbeans.org/wiki/view/DevFaqDataObject">Что такое DataObject?</a>. | |
</li><li><b>AbcDataNode.java.</b> Отвечает за то, что <i>отображает�?�?</i> в �?реде IDE, т.е. функциональные возможно�?ти, такие дей�?тви�?, значки и локализованные имена. | |
</li><li><b>AbcDataLoaderBeanInfo.java.</b> Управл�?ет пред�?тавлением загрузчика в разделе "Object Types" окна "Options". | |
</li></ul> | |
</p> | |
<br /> | |
<!-- ===================================================================================== --> | |
<h2><a name="adding"></a>Создание возможно�?тей дл�? файлов "Abc"</h2> | |
<p>Теперь, когда платформа NetBeans �?по�?обна отличать файлы "Abc" от в�?ех других типов файлов, пришло врем�? добавить возможно�?ти �?пециально дл�? �?тих типов файлов. В �?том разделе будет добавлен пункт контек�?тного меню, по�?вл�?ющего�?�? при щелчке узла файла правой кнопкой мыши в окнах проводника, например, в окне "Projects", а также будет разрешено открытие файла в отдельном окне, а не в редакторе. | |
</p><div class="indent"> | |
<h3 class="tutorial"><a name="action"></a>Добавление дей�?твий</h3> | |
<p>В �?том подразделе дл�? �?оздани�? кла�?�?а Java, который реализует дей�?твие дл�? ра�?�?матриваемого типа файлов, и�?пользует�?�? ма�?тер �?оздани�? дей�?твий ("New Action"). Этот ма�?тер также реги�?трирует кла�?�? в файле <tt>layer.xml</tt>, по�?ле чего пользователь �?может вызвать дей�?твие из пункта контек�?тного меню, по�?вл�?ющего�?�? при щелчке узла типа файлов правой кнопкой мыши в окне проводника. | |
</p><ol> | |
<li>Щелкните правой кнопкой мыши узел проекта и выберите "New > Action".</li> | |
<li>�?а �?кране "Action Type" выберите "Conditionally Enabled". Введите <tt>AbcDataObject</tt> – им�? объекта данных, �?озданного ранее при помощи ма�?тера �?оздани�? типов файлов, как показано ниже: | |
<p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-action1.png" alt="Ма�?тер �?оздани�? дей�?твий: первый �?кран"> | |
</p><p>�?ажмите кнопку "Next". | |
</p></li><li>�?а �?кране "GUI Registration" выберите категорию "Edit" в ра�?крывающем�?�? �?пи�?ке "Category". Ра�?крывающий�?�? �?пи�?ок "Category" позвол�?ет указать ме�?то отображени�? дей�?тви�? в редакторе �?очетаний клавиш в �?реде IDE. | |
<p></p><p>Затем �?нимите флажок "Unselect Global Menu Item" и у�?тановите флажок "File Type Context Menu Item". В ра�?крывающем�?�? �?пи�?ке "Content Type" выберите тип MIME, введенный ранее в ма�?тере �?оздани�? типов файлов, как показано ниже: | |
</p><p align="left"></p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-action2.png" alt="Ма�?тер �?оздани�? дей�?твий: второй �?кран"> | |
</p><p>Обратите внимание, что можно у�?тановить позицию пункта меню и отделить его от предше�?твующего и по�?ледующего пункта. �?ажмите кнопку "Next". | |
</p></li><li>�?а �?кране "Name and Location" введите <tt>MyAction</tt> в поле "Class Name" и <tt>My Action</tt> в поле "Display Name". Пункты контек�?тного меню не имеют �?в�?занных значков. По�?тому нажмите кнопку "Finish", по�?ле чего к пакету <tt>org.myorg.abcfiletype</tt> будет добавлен <tt>MyAction.java</tt>. | |
</li><li>В редакторе и�?ходного кода добавьте �?ледующий код к дей�?твию метода <tt>performAction</tt>: | |
<pre class="examplecode">protected void performAction(Node[] activatedNodes) { | |
AbcDataObject d = (AbcDataObject) activatedNodes[0].getCookie(AbcDataObject.class); | |
FileObject f = d.getPrimaryFile(); | |
String displayName = FileUtil.getFileDisplayName(f); | |
String msg = "I am " + displayName + ". Hear me roar!"; | |
NotifyDescriptor nd = new NotifyDescriptor.Message(msg); | |
DialogDisplayer.getDefault().notify(nd); | |
}</pre> | |
<p>�?ажмите Ctrl-Shift-I. Среда IDE автоматиче�?ки добавит операторы импорта в верхнюю ча�?ть кла�?�?а. Ча�?ть кода в�?е еще подчеркнута кра�?ным, что указывает на то, что не в�?е требуемые пакеты наход�?т�?�? по пути к кла�?�?ам. Щелкните правой кнопкой мыши узел проекта, выберите "Properties" и затем выберите "Libraries" в диалоговом окне "Project Properties". �?ажмите кнопку "Add" в верхней ча�?ти �?крана "Libraries" и добавьте интерфей�? "Dialogs API". | |
</p><p>В кла�?�?е <tt>MyAction.java</tt> �?нова нажмите Ctrl-Shift-I. Кра�?ное подчеркивание и�?чезнет, т.к. �?реда IDE нашла требуемые пакеты в "Dialogs API". | |
</p></li><li>В узле "Important Files" разверните "XML Layer". Два узла <tt><this layer></tt> и <tt><this layer in context></tt> вме�?те �? их подузлами �?о�?тавл�?ют обозреватель <a href="https://platform.netbeans.org/tutorials/nbm-glossary.html">файловой �?и�?темы �?реды</a>. Разверните <tt><this layer></tt>, затем разверните <tt>Loaders</tt> и по�?ледующие узлы, пока на �?кране не по�?вит�?�? �?озданное выше дей�?твие <tt>Action</tt>. | |
</li><li>Перетащите дей�?твие <tt>My Action</tt>, чтобы оно по�?вило�?ь ниже дей�?тви�? <tt>Open</tt>: | |
<p align="left"></p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-action3.png" alt="Обозреватель файловой �?и�?темы �?реды"> | |
</p><p>Как видно из по�?ледних двух �?тапов, обозреватель файловой �?и�?темы �?реды может и�?пользовать�?�? дл�? бы�?трой реорганизации по�?ледовательно�?ти �?лементов, зареги�?трированных в файловой �?и�?теме �?реды. | |
</p></li> | |
<h3 class="tutorial"><a name="topcomponent"></a>Открытие файла в окне</h3> | |
<p>По умолчанию при открытии пользователем определенного в �?том руковод�?тве типа файла файл будет открыт в базовом редакторе. Однако иногда возникает необходимо�?ть в �?оздании визуального пред�?тавлени�? файла и в предо�?тавлении пользователю возможно�?ти перета�?кивать �?лементы оформлени�? окон на визуальное пред�?тавление. Первым дей�?твием при �?оздании такого интерфей�?а пользовател�? �?вл�?ет�?�? предо�?тавление пользователю возможно�?ти открывать файл в окне. В �?том разделе приводит�?�? процедура такой на�?тройки. | |
</p><ol> | |
<li>С помощью ма�?тера оконных �?лементов �?оздайте верхний �?лемент ("TopComponent") �? названием "AbcTopComponent". | |
</li><li>Измените объект данных таким образом, чтобы вме�?то "DataEditorSupport" и�?пользовал�?�? "OpenSupport". | |
<p></p><pre>public AbcDataObject(FileObject pf, AbcDataLoader loader) | |
throws DataObjectExistsException, IOException { | |
super(pf, loader); | |
CookieSet cookies = getCookieSet(); | |
//cookies.add((Node.Cookie) DataEditorSupport.create(this, getPrimaryEntry(), cookies)); | |
cookies.add((Node.Cookie) new AbcOpenSupport(getPrimaryEntry())); | |
}</pre> | |
</li><li>Создайте кла�?�? "OpenSupport": | |
<p></p><pre>class AbcOpenSupport extends OpenSupport implements OpenCookie, CloseCookie { | |
public AbcOpenSupport(AbcDataObject.Entry entry) { | |
super(entry); | |
} | |
protected CloneableTopComponent createCloneableTopComponent() { | |
AbcDataObject dobj = (AbcDataObject) entry.getDataObject(); | |
AbcTopComponent tc = new AbcTopComponent(); | |
tc.setDisplayName(dobj.getName()); | |
return tc; | |
} | |
}</pre> | |
</li><li>�?а�?тройте "TopComponent" таким образом, чтобы он �?вл�?л�?�? ра�?ширением "CloneableTopComponent", а не "TopComponent". Определите модификатор кла�?�?а "TopComponent" и модификатор его кон�?труктора как общедо�?тупный, а не закрытый. | |
</li></ol> | |
<p>Теперь при открытии файла "Abc" кла�?�? "OpenSupport" обрабатывает открытие, т.е. открывает файл в �?лемент "TopComponent", а не в базовом редакторе, обе�?печиваемом "DataEditorSupport". Пример дальнейшей разработки �?лемента "TopComponent" приведен в <a href="https://platform.netbeans.org/tutorials/60/nbm-visual_library_ru.html">руковод�?тве по работе �? Visual Library в �?реде NetBeans 6.0</a>. | |
</p></ol></div> | |
<br /> | |
<!-- ======================================================================================= --> | |
<h2><a name="building"></a>У�?тановка модул�? типа файлов "Abc"</h2> | |
<p>Дл�? �?борки и у�?тановки модул�? в �?реде IDE и�?пользует�?�? �?ценарий �?борки Ant. Сценарий �?борки �?оздает�?�? при �?оздании проекта.</p> | |
<div class="indent"> | |
<h3 class="tutorial">У�?тановка модул�? NetBeans</h3> | |
<ul> | |
<li>В окне "Projects" щелкните правой кнопкой мыши проект <tt>Abc File Type</tt> и выберите "Install/Reload" в поле "Target Platform". | |
<p></p><p>Модуль компонует�?�? и у�?танавливает�?�? в целевой �?реде IDE. По�?ле открыти�? целевой �?реды IDE новый модуль можно проте�?тировать. По умолчанию целева�? �?реда IDE пред�?тавл�?ет �?обой �?и�?тему, и�?пользуемую текущим �?кземпл�?ром �?реды IDE. | |
</p></li> | |
<h3 class="tutorial">Работа �? модулем NetBeans</h3> | |
<ol> | |
<li>Создайте любое приложение в �?реде IDE. | |
</li><li>Щелкните правой кнопкой мыши узел приложени�? и выберите "New > Other". В категории "Other" дл�? нового типа файлов до�?тупен фиктивный шаблон: | |
<p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-action4.png" alt="Фиктивный шаблон"> | |
</p><p>Е�?ли необходимо предо�?тавить код по умолчанию через фиктивный шаблон, добавьте код к файлу <tt>AbcTemplate.abc</tt>, �?оздаваемому ма�?тером �?оздани�? типов файлов. | |
</p></li><li>Щелкните узел файла правой кнопкой мыши. | |
<p></p><p>Обратите внимание, что файл "Abc" имеет значок, назначенный ему в его модуле, и что �?пи�?ок дей�?твий, определенных в �?в�?занном �? ним файле <tt>layer.xml</tt>, пред�?тавлен в контек�?тном меню, которое можно вызвать при помощи правой кнопки мыши: | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-dummytemplate.png" alt="Итоговое окно "Projects""> | |
</p></li><li>Выберите новый пункт меню. �?а �?кране будет пред�?тавлено им�? файла "Abc" и его ме�?тоположение: | |
<p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-information.png" alt="Информаци�?"> | |
</p></li> | |
<h3 class="tutorial">Создание �?овме�?тно и�?пользуемого двоичного модул�?</h3> | |
<ol> | |
<li>В окне "Projects" щелкните правой кнопкой мыши проект <tt>Abc File Type</tt> и выберите "Create NBM". | |
<p></p><p>Будет �?оздан файл NBM, который можно про�?мотреть в окне "Files" (Ctrl-2): | |
</p><p></p><p align="left"><img border="1" src="../../images/tutorials/filetype/60-shareable-nbm.png" alt="Совме�?тно и�?пользуемый файл NBM"> | |
</p></li><li>Этот файл можно ра�?про�?транить �?реди коллег, например, по �?лектронной почте. Дл�? его у�?тановки получатель должен и�?пользовать ди�?петчер подключаемых модулей ("Tools > Plugins"). | |
</li></ol> | |
</ol></ul></div> | |
<!-- ======================================================================================== --> | |
<br> | |
<div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&subject=Feedback:%20File%20Type%20Module%20Tutorial">Мы ждем ваших отзывов</a></div> | |
<br style="clear:both;" /> | |
<!-- ======================================================================================== --> | |
<h2><a name="nextsteps"></a>Что дальше?</h2> | |
<p>Дл�? получени�? дополнительной информации о �?оздании и разработке модулей NetBeans �?м. �?ледующие материалы: | |
</p><ul> | |
<li><a href="https://platform.netbeans.org/index.html">Домашн�?�? �?траница платформы NetBeans</a></li> | |
<li><a href="https://netbeans.org/download/dev/javadoc/">Спи�?ок интерфей�?ов API �?реды NetBeans (текуща�? вер�?и�? разработки)</a></li> | |
<li><a href="https://netbeans.org/kb/trails/platform.html">Другие �?в�?занные руковод�?тва</a></li></ul> | |
</p> | |
<hr> | |
<!-- ======================================================================================== --> | |
<h2><a name="version"></a>Вер�?ии </h2> | |
<p> | |
<table width="76%" border="1"> | |
<tbody> | |
<tr> | |
<td> | |
<div align="left"><b>Вер�?и�?</b></div> | |
</td> | |
<td> | |
<div align="left"><b>Дата</b></div> | |
</td> | |
<td> | |
<div align="left"><b>Изменени�?</b></div> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
1 | |
</td> | |
<td> | |
25 авгу�?та 2005 г. | |
</td> | |
<td> | |
<ul><li>�?ачальна�? вер�?и�?. | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul><li>Добавить на�?тройки, у�?танавливаемые по�?ле �?оздани�? (т.е. раздел "Ра�?ширенна�? поддержка нового типа файлов"). | |
</li><li>По�?�?нить, дл�? чего и�?пользуют�?�? �?озданные файлы (в на�?то�?щее врем�? преду�?мотрено ме�?то под �?тот раздел). | |
</li><li>По�?�?нить запи�?и в файле layers. | |
</li><li>В�?тавить опи�?ание первого �?крана типа файлов (в на�?то�?щее врем�? преду�?мотрено ме�?то под �?тот раздел). | |
</li><li>Возможно, �?о�?тавить отдельное руковод�?тво по ра�?познаванию файлов XML.</li></ul></li></ul> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
2 | |
</td> | |
<td> | |
23 �?ент�?бр�? 2005 г. | |
</td> | |
<td> | |
<ul><li>Добавлено большое количе�?тво информации из ча�?то задаваемых вопро�?ов, а также добавлено опи�?ание ма�?тера �?оздани�? дей�?твий и обозревател�? файловой �?и�?темы �?реды. | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul><li>По�?�?нить <tt>LoaderBeanInfo.java</tt> и <tt>Resolver.xml</tt> (по одной �?троке на каждый). | |
</li><li>Возможно, �?о�?тавить отдельное руковод�?тво по ра�?познаванию файлов XML. | |
</li><li>Возможно, �?ледует отказать�?�? от и�?пользовани�? Tomcat GIF. | |
</li><li>Возможно, дей�?твие должно прино�?ить какие-то практиче�?кие результаты. | |
</li><li>Возможно, �?ледует удалить пр�?мые �?�?ылки на ча�?то задаваемые вопро�?ы. | |
</li><li>Веро�?тно, необходимо добавить больше информации о файле <tt>layer.xml</tt>. | |
</li><li>Возможно, к �?тому �?ценарию �?ледует добавить другие удобные функциональные возможно�?ти из поддержки API. | |
</li><li>�?еобходимо больше информации о типах MIME. | |
</li><li>Вводные абзацы должны быть проиллю�?трированы графикой. Следует добавить �?хему дл�? иллю�?трации �?в�?зи между узлом, объектом данных, объектом файла, загрузчиком данных и т.д.</li></ul></li></ul> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
3 | |
</td> | |
<td> | |
28 �?ент�?бр�? 2005 г. | |
</td> | |
<td> | |
<ul><li>Учтены комментарии от Дже�?�?и Глик (Jesse Glick). | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>�?еобходимо добавить больше информации о типах MIME. | |
</li><li>Вводные абзацы должны быть проиллю�?трированы графикой. Следует добавить �?хему дл�? иллю�?трации �?в�?зи между узлом, объектом данных, объектом файла, загрузчиком данных и т.д. | |
</li><li>�?еобходимо добавить много �?�?ылок на документацию Javadoc (также дл�? <tt>performAction</tt>). | |
</li><li>�?еобходима информаци�? о cookie, дей�?тви�?х cookie, кла�?�?ах cookie. | |
</li><li>Дей�?твие заканчивает�?�? тек�?товым HTML даже в том �?лучае, е�?ли был выбран �?об�?твенный тип MIME. | |
</li><li>�?еобходимо по�?�?нить или указать �?�?ылку на по�?�?нени�? дл�? �?кземпл�?ра, тени и т.д. | |
</li><li>В контек�?те у�?тановки на целевой платформе �?ледует упом�?нуть Platform Manager. | |
</li><li>�?еобходимо продемон�?трировать добавление �?вой�?тв к таблице �?вой�?тв.</li></ul></li></ul> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
4 | |
</td> | |
<td> | |
4 окт�?бр�? 2005 г. | |
</td> | |
<td> | |
<ul><li>Добавить во вводные абзацы две �?хемы из презентации "JavaOne" Тима Будро (Tim Boudreau). | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>�?еобходимо больше информации о типах MIME. | |
</li><li>�?еобходимо добавить много �?�?ылок на документацию Javadoc (также дл�? <tt>performAction</tt>). | |
</li><li>В начале документа необходимо �?оздать раздел: "Ча�?то задаваемые вопро�?ы по �?той теме": | |
<ul><li>�?еобходима информаци�? о cookie, дей�?тви�?х cookie, кла�?�?ах cookie. | |
</li><li>�?еобходимо по�?�?нить или указать �?�?ылку на по�?�?нени�? дл�? �?кземпл�?ра, тени и т.д. | |
</li><li>DataLoader, DataObject и т.д.</li></ul> | |
</li><li>В контек�?те у�?тановки на целевой платформе �?ледует упом�?нуть Platform Manager. | |
</li><li>�?еобходимо продемон�?трировать добавление �?вой�?тв к таблице �?вой�?тв. | |
</li><li>�?еобходимо указать получаемый фиктивный шаблон, как его измен�?ть и как на�?траивать опи�?ание в ма�?тере �?оздани�? файлов.</li></ul></li></ul> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
4 | |
</td> | |
<td> | |
4 но�?бр�? 2005 г. | |
</td> | |
<td> | |
<ul><li>Добавлен загружаемый и�?ходный код, новый раздел "У�?тановка примера" и �?�?ылки на руковод�?тво "Под�?ветка �?интак�?и�?а" в конце. | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>См. запи�?и от 4 окт�?бр�?.</li></ul> | |
</li></ul></td> | |
</tr> | |
<tr> | |
<td> | |
5 | |
</td> | |
<td> | |
29 но�?бр�? 2005 г. | |
</td> | |
<td> | |
<ul><li>Добавлены �?�?ылки на �?овершенно новое руковод�?тво по палитре �?лементов. | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>См. запи�?и от 4 окт�?бр�?.</li></ul> | |
</li></ul></td> | |
</tr> | |
<tr> | |
<td> | |
6 | |
</td> | |
<td> | |
21 апрел�? 2006 г. | |
</td> | |
<td> | |
<ul><li>Заголовок изменен �? "Руковод�?тво по модулю DataLoader" на "Руковод�?тво по ра�?познаванию типов файлов". | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>См. запи�?и от 4 окт�?бр�?.</li></ul> | |
</li></ul></td> | |
</tr> | |
<tr> | |
<td> | |
7 | |
</td> | |
<td> | |
17 но�?бр�? 2007 г. | |
</td> | |
<td> | |
<ul><li>В�?е руковод�?тво обновлено в �?оответ�?твии �?о �?редой вер�?ии 6.0, заменены в�?е �?нимки �?крана, теперь [т.к. �?реда IDE 6.0 уже поддерживает файлы манифе�?та] руковод�?тво �?о�?редоточено на воображаемых файлах "Abc". | |
</li><li>Дальнейшие дей�?тви�?: | |
<ul> <li>�?еобходимо заменить загрузку (котора�? �?ейча�? �?овпадает �? прежней) �? учетом файлов манифе�?та. | |
</li><li>См. запи�?и от 4 окт�?бр�?. | |
</li><li>В "TopComponent" добавлен "OpenSupport" �?о �?�?ылкой на Visual Library.</li></ul> | |
</li><li>Заголовок изменен на "Руковод�?тво по интеграции типов файлов". | |
</li><li>�?екоторые ме�?та в руковод�?тве отредактированы в �?оответ�?твии �?о �?редой вер�?ии 6.0. | |
</li></ul></td> | |
</tr> | |
<tr> | |
<td> | |
8 | |
</td> | |
<td> | |
15 апрел�? 2008 г. | |
</td> | |
<td> | |
Стили (значок, оглавление, таблица требуемого программного обе�?печени�?) обновлены в �?оответ�?твии �? новым форматом. | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</p></ol></body> | |
</html> |