blob: fc1b8d8535bfe5a2be8d9c2586d48fa37c6f0f36 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= NetBeans コン�?ー�?ントパレットモジュール�?��?ュートリアル
:jbake-type: platform_tutorial
:jbake-tags: tutorials
:jbake-status: published
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:icons: font
:experimental:
:description: NetBeans コン�?ー�?ントパレットモジュール�?��?ュートリアル - Apache NetBeans
:keywords: Apache NetBeans Platform, Platform Tutorials, NetBeans コン�?ー�?ントパレットモジュール�?��?ュートリアル
翻訳 : link:https://blogs.oracle.com/roller/page/katakai[片�?正紀] , 2006/7/10, レビュー/�?守: link:http://ja.netbeans.org/index.html[NetBeans 日本語サイト]
link:mailto:dev@netbeans.apache.org?subject=Feedback:%20NetBeans%20IDE%20Component%20Palette%20Module%20Tutorial[フィー ド�?ック]
�?��?��?ュートリアル�?��?�新�?��?�ファイル�?�種類�?��?��?�?�コードサンプル(コードスニペット)をドラッグ & ドロップ�?�作�?�?��??るコン�?ー�?ントパレット�?�作�?方法を説明�?��?��?�。コードスニペット�?�コーディングを手助�?��?��?��?�。IDE �?� JSP ファイル�?HTML ファイル�??�?��?�フォームファイル�?�コン�?ー�?ントパレットを�??供�?��?��?��?��?�。�?��?��?ュートリアル�?��?�通常 IDE �?��?�識別�?�れ�?��?��?��?�ファイル用�?�コン�?ー�?ントパレットを作�?�?�る方法を説明�?��?��?�。�?��?�最�?�?�「新�?ファイル�?�種類�?ウィザードを用�?��?� IDE �?��?識�?��??る新�?��?�ファイル�?�種類を作�?�?��?��?�。次�?� link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/overview-summary.html[NetBeans パレット API] を使�?��?��?��??�?��?��?�クラスを作�?�?��?��?��??�?��?�。最後�?� ``layer.xml`` ファイル�?�新�?��?�コン�?ー�?ントパレットを登録�?��?��?�。
�?��?��?ュートリアル�?�作�?�?�るコン�?ー�?ントパレット�?� JBoss �?��?備記述�?ファイル ( ``jboss-web.xml`` ) �?�対�?��?�使用�?��??るも�?��?��?�。 ``jboss-web.xml`` ファイル�?�他�?� XML �?��?��??�?空間を使用�?��?�識別�?�れ�?��?�。
[source,java]
----
<!DOCTYPE jboss-webPUBLIC "-//JBoss//DTD Web Application 2.3//EN""http://www.jboss.org/j2ee/dtd/jboss-web_3_0.dtd">
----
�?��?��?ュートリアル�?�作�?�?�れ�?�コン�?ー�?ントパレット�?�上記�?��??�?空間を�?�?�ファイル�?� IDE �?�ソースエディタ上�?�開�?�れ�?�時�?��?�有効�?��?�り�?��?�。�?��?�ファイル�?�種類�?��?��?�場�?��?�コン�?ー�?ントパレット�?� ``jboss-web.xml`` ファイル�?�次�?�3�?��?�基本的�?��?素�?�コードスニペットを�??供�?��?��?�。 「Context Root�?�? 「Security Domain�?�?�「Resource Reference�?�?��?�。以下�?�よ�?��?�ツール�?ップ�?�ソースエディタ�?�ドラッグ&ドロップ�?��?��?��??�?�カーソル�?置�?�挿入�?�れるタグ�?�ツール�?ップ�?�表示 �?�れ�?��?�。
image::images/componentpalette_completed-module_ja.png[]
新�?��?�コン�?ー�?ントパレットを作�?�?�る�?��?��?��?��??�?既存�?�コン�?ー�?ントパレット�?�コードスニペットを追加�?��?��?��?��?��?�ら�?� link:nbm-palette-api1.html[NetBeans コードスニペットモジュール�?��?ュートリアル] を�?�照�?��?��??�?��?��?�。
�?��?��?ュートリアル�?��?�以下�?��?��?�を説明�?��?��?�:
* <<installing,ソフトウェア�?�インストール>>
* <<installing-sample,サンプル�?�インストール>>
* <<creatingthemoduleproject,モジュールプロジェクト�?�設定>>
* <<recognizing-filetype,新�?��?�ファイル�?�種類�?��?識>>
* <<coding-module,コン�?ー�?ントパレットモジュール�?�コードスニペット�?�作�?>>
* <<creating-palettes,コン�?ー�?ントパレット�?�作�?>>
* <<creating-snippets,コードスニペット�?�作�?>>
* <<registering-module,モジュール�?�登録>>
* <<declaring-resources,リソース�?�宣言>>
* <<registering-resoucres,リソース�?�登録>>
* <<building,モジュール�?�構築�?�インストール>>
* <<install-plugin,モジュール�?�インストール�?�使用>>
* <<share-plugin,共有�?�能�?�モジュール�?イナリ�?�作�?>>
�?��?��?ュートリアル�?�ソフトウェア�?�インストール�?��??れ�?� 45 分程度�?�完了�?��?��?�。
モジュール開発�?�関�?�る詳細�?� NetBeans サイト�?� link:https://netbeans.apache.org/platform/index.html[NetBeans 開発プロジェクトホーム] を�?�照�?��?��??�?��?��?�。�?�?�ら�?��?��?��?��?�?��?�れ�?� link:http://wiki.netbeans.org/wiki/view/NetBeansDeveloperFAQ[NetBeans 開発者 FAQ] を�?�照�?��?��??�?��?��?�。�?��?��?��?�ページ�?�「フィード�?ック�?リンクを使�?��?��??�?��?��?�。
== ソフトウェア�?�インストール
�?��?��?��?��?�?�コンピュータ�?�ソフトウェアをインストール�?��?��?�:
* NetBeans IDE 5.0 ( link:https://netbeans.apache.org/download/index.html[ダウンロード])
* Java Standard Development Kit (JDK) �?ージョン 1.4.2 ( link:https://www.oracle.com/technetwork/java/javase/downloads/index.html[ダウンロード]) �?��?��?� 5.0 ( link:https://www.oracle.com/technetwork/java/javase/downloads/index.html[ダウンロード])
=== サンプル�?�インストール
次�?�手順�?�サンプルをインストール�?��?��?�:
[start=1]
1. link:https://netbeans.org/files/documents/4/651/jbosswebxml.zip[サン プルファイル] を展開 (unzip) �?��?��?�。
[start=2]
1. IDE �?�「ファイル�?>「プロジェクトを開�??�?を�?�択�?��?解�?�?��?�ファイル�?��?�るフォルダ�?��?�移動�?��?��?�。モジュールプロジェクトを開�??�?��?�。プロジェク トを開�??�?�次�?�よ�?��?��?�り�?��?�:
image::images/componentpalette_completed-projects-window_ja.png[]
[start=3]
1. プロジェクトノードを�?�クリック�?�「ターゲットプラットフォーム�?��?�インストール/�?読�?�込�?��?を�?��?��?��?�。ターゲットプラットフォーム�?�開 �??モジュール�?�インストール�?�れ�?��?�。
[start=4]
1. 「ファイル�?ウィンドウ(Ctrl-2)�?�ら ``test-jboss-web.xml`` ファイルをダブルクリップ�?�る�?��?��?�モジュール�?�正�?��??インストール�?�れ�?��?�る�?��?��?��?�確�?�?��??�?��?�:
image::images/componentpalette_test-jboss_ja.png[]
ファイル�?�ソースエディタ�?�読�?�込�?�れる�?�コン�?ー�?ントパレット�?�開�??�?��?�。�?�る�?��?��?��?ュートリアル�?�冒頭部分�?�スクリーンショット�?� よ�?��?�3�?��?�コードスニペット�?�表示�?�れ�?��?�。コン�?ー�?ントパレット�?�自動的�?�表示�?�れ�?��?�場�?��?� Ctrl-Shift-8 を押�?��?�手動�?�開�?��?��??�?��?��?�。
[start=5]
1. メニュー�?ー�?�ら「ツール�? > 「パレットマ�?ージャー�?を�?�択�?�る�?�次�?�よ�?��?��?�り�?��?�:
image::images/componentpalette_palette-menu-item_ja.png[]
「パレットマ�?ージャー�?�?�表示�?�れコードスニペット�?��?��?�れ�?��?��?��?�:
image::images/componentpalette_palette-manager_ja.png[]
最終的�?��?果�?��?��?�よ�?��?��?�る�?��?�?��?��?��?��?��?スクラッ�?�?�らモジュールを作り作�?�?��?�程�?��??れ�?�れ�?�部分を勉強�?��?��?��?��?�ょ�?�。
== モジュールプロジェクト�?� 設定
モジュールを作�?�?�る�?�?��?��?�プロジェクト�?�正�?��??設定�?�れ�?��?�る�?�確�?�?�る必�?�?��?�り�?��?�。 link:https://netbeans.apache.org/download/index.html[NetBeans IDE 5.0] �?��?�モジュール�?��?��?�?�基本的�?�ファイルを設定�?�る�?��?�?�ウィザードを�??供�?��?��?��?��?�。
[start=1]
1. 「ファイル�?>「新�?プロジェクト�?(Ctrl-Shift-N) を�?�択�?��?��??�?��?��?�。「カテゴリ�?�?�「NetBeans プラグインモジュール�?を�?�択�?��?��?�。「プロジェクト�?�?��?�「モジュールプロジェクト�?を�?�択�?�「次�?��?ボタンをクリック�?��?��?�。
[start=2]
1. 「�??�?�?�場所�?パ�?ル�?��?�「プロジェクト�??�?�?�「 ``jbosswebxml`` �?�?�入力�?��?��?�。「プロジェクト�?�場所�?�?��?�当�?� コンピューター上�?�ディレクトリを指定�?��?��?�。�?��?��?��?� ``c:\mymodules`` �?��?��?��?�。「スタンドアロンモジュール�?�?�ラジオボタン�?��??�?��?��?��?��?�「主プロジェクト�?��?��?�設定�?�?ェックボックスを�?�択�?��?��?�。「次�?��?をクリック�?� �?��?�。
[start=3]
1. 「基本モジュール構�?�?パ�?ル�?��?�「コード�??ベース�?�?� ``yourorghere`` を ``org.netbeans.modules`` �?�置�??�?��?��? ``org.netbeans.modules.jbosswebxml`` �?��?��?��?�。「地域対応�?��?ンドル�?�?�「XML レイヤー�?�?��??�?��?��?��?��?� ``org/netbeans/modules/jbosswebxml`` �?��?�れら�?�ファイル�?��?存�?�れるよ�?��?��?��?��?�。「完了�?ボタンをクリック�?��?��?�。
IDE �?� ``jbosswebxml`` プロジェクトを作�?�?��?��?�。プロジェクト�?�必�?�?��?��?��?��?�ソースやメタデータ�?�?��?��?��?�プロジェクト�?�構築スクリプト�?��?�を�?�ん�?��?��?��?�。プロジェクト�?� IDE 上�?�開�?�れ�?��?�。「プロジェクト�?ウィンドウ(Ctrl-1) �?��?�論的�?�構�?を表示�?��??�?��?�。�?��?�「ファイル�?ウィンドウ(Ctrl-2)�?��?�ファイル構造を表示�?��??�?��?�。
== 新�?��?�ファイル�?�種類�?��?識
[start=1]
1. プロジェクトノード�?��?�クリック�?��?�「新�?�?>「ファイル�?�種類�?を�?�択�?��?��?�。「次�?��?をクリック�?��?��?�。
[start=2]
1. 「ファイル�?��?識�?パ�?ル�?��?�次�?�よ�?��?��?��?��?�:
* 「MIME タイプ�?�?��?� ``text/x-jboss+xml`` �?�入力�?��?��?�。
* 「XML �?�ルート�?素�?�?�編集ボックス�?�「 ``public-id="-//JBoss//DTD Web Application 2.3//EN"`` �?�?�入力�?��?��?�。
「ファイル�?��?識�?パ�?ル�?��?��?�よ�?��?��?�り�?��?�:
image::images/componentpalette_filewizard1_ja.png[]
「ファイル�?��?識�?パ�?ル�?��??れ�?�れ�?�項目�?�次�?�よ�?��?��?��?��?��?��?��?�:
* *MIME タイプ* �?�データオブジェクト�?�一�?�?� MIME タイプを指定�?��?��?�。
* *�?識方法*
* *ファイル拡張�?* �?� IDE �?��??�?� MIME タイプ�?�割り当�?�る�?��?��?��?�る�?��?��??れ以上�?�ファイル拡張�?を指定�?��?��?�。ファイル拡張�?�?�任�?�?�ドット(.)を先頭�?�付�?�る�?��?��?��?��??�?��?�。セパレータ �?�コンマ�?空白�?�る�?��?��?��?�ら�?�も�?��?��?��?��?�ん。�?��?��?��?��?�以下�?�例�?��?��?��?�有効�?��?�:
* ``.abc,.def``
* ``.abc .def``
* ``abc def``
* ``abc,.def ghi, .wow``
JAR ファイル�?�マニフェストファイル�?� "MANIFEST.MF" �?��?�り少�?��??�?�も UNIX プラットフォーム�?��?�大文字�?文字�?�区別�?�れ�?��?�。�??�?��?��?�?��?��?ュートリアル�?��?� _2�?�_ �?� MIME タイプを使用�?��?��?��? ``.mf`` �?� ``.MF`` �?��?�。
* *XML ルート�?素* �?�他�?� XML ファイル�?�区別�?�る�?��?�?�一�?�?�決�?られ�?��??�?空間�?��?�。XML ファイル�?��?��?�拡張�? ( ``xml`` ) を�?�?��?��?� IDE �?��?��?� XML ルート�?素を使�?��?� XML ファイルを区別�?��?��?�。�?�ら�?�具体的�?�言�?��?��?IDE �?� XML ファイル�?�最�?�?��?素�?��??�?空間を区別�?��?��?�。�?��?��?ュートリアル�?��?�ファイル�?�識別�?� XML ファイル�?� ``doctype`` �?素�?�行�?れ�?��?�。
「次�?��?をクリック�?��?��?�。
[start=3]
1. 「�??�?�?�場所�?パ�?ル�?��?�「クラス�??�?�?�「 ``jbossdd`` �?�?�入力�?��?16x16 ピクセル�?�イメージファイルを新�?��?�ファイル�?�種類�?�アイコン�?��?��?��?�照�?��?��?�。
image::images/componentpalette_filewizard2_ja.png[]
NetBeans �?�インストールディレクトリ�?��?��?��?�?��?�?� 16x16 ピクセル�?�イメージファイル�?��?�り�?��?�。例�?��?�次�?�場所�?��?�り�?��?�:
``enterprise2\jakarta-tomcat-5.5.7\server\webapps\admin\images``
�?��?��?��?�上記ディレクトリ�?� ``Datasource.gif`` を使�?��?��?��?��?��??�?��?�。�?�れ�?�次�?�よ�?��?�アイコン�?��?�:
image::images/filetype_Datasource.gif[]
[start=4]
1. 「完了�?ボタンをクリック�?��?��?�。
�?�れ�?�「プロジェクト�?ウィンドウ�?��?��?�よ�?��?��?�り�?��?�:
image::images/componentpalette_projectswindow2_ja.png[]
新�?�?�作�?�?�れ�?�ファイル�?��?��?��?�簡�?��?�説明�?��?��?�:
* *jbossddDataLoader.java.* �?��?�ファイル�?� ``text/x-jboss+xml`` MIME タイプを�?識�?��?��?�。 ``DataObject`` �?�ファクトリ�?��?��?�機能�?��?��?�。詳�?��?�説明�?� link:https://netbeans.apache.org/wiki/devfaqdataloader[What is a DataLoader?] を�?�照�?��?��??�?��?��?�。
* *jbossddResolver.xml.* �?��?�ファイル�?� MIME タイプ�?� ``<xml-rule>`` をマップ�?��?��?�。�?�れ�?��?��?� ``DataLoader`` �?� ``<xml-rule>`` �?�一致�?��?� XML ファイル�?��?�を�?識�?�るよ�?��?�制�?�?��?��?�。 ``<doc-type>`` を定義�?�るよ�?��?�以下�?�よ�?��?�(太字�?�行�?�変更�?�る行�?��?�)変更�?��?��?�:
[source,xml]
----
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE MIME-resolver PUBLIC "-//NetBeans//DTD MIME Resolver 1.0//EN""https://netbeans.org/dtds/mime-resolver-1_0.dtd"><MIME-resolver><file><ext name="xml"/><resolver mime="text/x-jboss+xml"><xml-rule>*<doctype public-id="-//JBoss//DTD Web Application 2.3//EN"/>*</xml-rule></resolver></file></MIME-resolver>
----
* *jbossddDataObject.java.* �?��?�ファイル�?� ``FileObject`` をラップ�?��?��?�。 ``DataObjects`` �?� ``DataLoaders`` �?�よ�?��?�生�?�?�れ�?��?�。詳�?��?�説明�?� link:https://netbeans.apache.org/wiki/devfaqdataobject[What is a DataObject?] を�?�照�?��?��??�?��?��?�。
* *jbossddDataNode.java.* �?��?�ファイル�?�アクション�?��?��?�機能�?アイコンや地域対応�?�れ�?��??�?�?��?� IDE 上�?��?� _見�?�方_ を�??供�?��?��?�。
* *jbossddDataLoaderBeanInfo.java.* �?��?�ファイル�?�「オプション�?ウィンドウ�?�「オブジェクト�?�種類�?セクション�?� ``DataLoader`` を表示�?�る�?��?��?��?��?�を制御�?��?� �?�。
== コン�?ー�?ントパレットモジュール�?�コードスニペット�?�作�?
=== モジュール�?��?存性�?�指定
link:https://bits.netbeans.org/dev/javadoc/[NetBeans API] �?�属�?�る�?��??�?��?��?�クラス�?�サブクラス�?�必�?�?��?�。�??れ�?�れモジュール�?��?存関係�?�定義�?�る必�?�?��?�り�?��?�。�?�れ�?�「プロジェクト�?プロパティーを使�?��?� 設定�?��??�?��?�。
[start=1]
1. 「プロジェクト�?ウィンドウ�?� ``jbosswebxml`` プロジェクトを�?�クリック�?��?「プロパティー�?を�?�択�?��?��?�。プロジェクトプロパティー�?�ダイアログボックス�?��?「ライブラリ�?をクリック�?��?��?�。
[start=2]
1. 次�?��??れ�?�れ�?� API �?�「追加...�?ボタンをクリック�?�「モジュールリスト�?�?�ら�??�?を�?�択�?��?�「了解�?ボタンを押�?��?��?��?�追加�?��??�?��?�:
image::images/componentpalette_projprops_ja.png[]
[start=3]
1. 「了解�?をクリック�?��?�プロジェクト�?�「プロパティー�?ダイアログを閉�?��?��?�。
[start=4]
1. 「プロジェクト�?ウィンドウ�?�「�?�?�?�ファイル�?ノードを展開�?「プロジェクトメタデータ�?をダブルクリック�?��?�モジュール�?��?存性�?�正�?��?? 宣言�?�れ�?��?�る�?�確�?�?��??�?��?�。
[source,xml]
----
<?xml version="1.0" encoding="UTF-8"?><project xmlns="https://netbeans.org/ns/project/1"><type>org.netbeans.modules.apisupport.project</type><configuration><data xmlns="http://www.netbeans.org/ns/nb-module-project/2"><code-name-base>org.netbeans.modules.jbosswebxml</code-name-base><standalone/><module-dependencies><dependency><code-name-base>org.netbeans.modules.editor.lib</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><release-version>1</release-version><specification-version>1.9.0.1</specification-version></run-dependency></dependency><dependency><code-name-base>org.netbeans.modules.projectapi</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><release-version>1</release-version><specification-version>1.9</specification-version></run-dependency></dependency><dependency><code-name-base>org.netbeans.spi.palette</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><release-version>0</release-version><specification-version>1.5</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.dialogs</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.4</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.filesystems</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.4</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.loaders</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>5.9</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.nodes</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.7</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.text</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.9</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.util</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.8</specification-version></run-dependency></dependency><dependency><code-name-base>org.openide.windows</code-name-base><build-prerequisite/><compile-dependency/><run-dependency><specification-version>6.5</specification-version></run-dependency></dependency></module-dependencies><public-packages/></data></configuration></project>
----
=== コン�?ー�?ントパレット�?�作�?
コン�?ー�?ントパレット�?� link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/overview-summary.html[NetBeans パレット API] を使�?��?�定義�?�れ�?��?��?��?�。�?��?��?ュートリアル�?� NetBeans パレット API を実装�?�る�?��?��?�次�?� NetBeans Palette API クラスを実装�?�る�?��?��?��?�:
|===
|*ファイル* |*説明*
| `` link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteFactory.html[PaletteFactory]`` |コン�?ー�?ントパレット�?�新�?��?�インスタンスを作�?�?��?��?�。�??�?��?��?�?��?� ``JBOSSPalette`` フォルダ�?�ら新�?��?�パレットを作�?�?�る ``createPalette`` メソッドを呼�?�出�?��?��?�。�?�れ�?� ``layer.xml`` ファイル�?�定義�?�れ�?��?��?��?�。
| `` link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteController.html[PaletteController]`` |コン�?ー�?ントパレット�?�データ�?��?�アクセスを�??供�?��?��?�。
| `` link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteActions.html[PaletteActions]`` |
|===
�?�れ�?��??�?�?��?�次�?�サ�?ートクラスを作�?�?�る必�?�?��?�り�?��?�:
|===
|*ファイル* |*説明*
| ``jbossddPaletteUtilities`` |ドロップ�?�れ�?�コードスニペット�?�挿入�?�フォーマットを扱�?��?��?�。2�?��?� NetBeans API クラス�?�実装�?�れ�?��?�:
* link:https://bits.netbeans.org/dev/javadoc/org-netbeans-modules-editor-lib/org/netbeans/editor/BaseDocument.html[org.netbeans.editor.BaseDocument]
* link:https://bits.netbeans.org/dev/javadoc/org-netbeans-modules-editor-lib/org/netbeans/editor/Formatter.html[org.netbeans.editor.Formatter]
| ``jbossddPaletteCustomizerAction `` |パレットマ�?ージャー�?�使�?れるメニュー項目を�??供�?��?��?�:
image::images/componentpalette_palette-menu-item_ja.png[]
| ``jbossddPaletteDropDefault`` |
|===
NetBeans パレット API を実装�?�る�?��?�次�?�ステップ�?��?��?��?��?��?��??�?��?��?�:
[start=1]
1. ``org.netbeans.modules.jbosswebxml`` プロジェクトノード�?��?�クリック�?��?�「新�?�?>「Java クラス�?を�?�択�?��?��?�。次�?�ファイル�?�最�?�?�ファイルを作り�?パッケージ�?�ドロップダウンリスト�?��?� ``org.netbeans.modules.jbosswebxml.palette`` �?�入力�?��?「完了�?ボタンを押�?��?��?�。他�?�ファイルも�?�様�?�作�?�?��?�。
* ``jbossddPaletteActions``
* ``jbossddPaletteCustomizerAction``
* ``jbossddPaletteDropDefault``
* ``jbossddPaletteFactory``
* ``jbossddPaletteUtilities``
次�?�ファイル�?�作�?�?�れ�?��?�。(スクリーンショット�?��?�択�?�れ�?��?��?��?�):
image::images/componentpalette_palette1_ja.png[]
[start=2]
1. 以下�?�リンクをダブルクリック�?�以下�?�内容�?�ファイル�?�内容を置�??�?��?��?��?�:
* ``jbossddPaletteActions``
* ``jbossddPaletteCustomizerAction``
* ``jbossddPaletteDropDefault``
* ``jbossddPaletteFactory``
* ``jbossddPaletteUtilities``
[start=3]
1. ``jbossddPaletteFactory.java`` ファイル�?�デフォルト�?�内容を次�?�置�??�?��?��?��?�:
[source,java]
----
package org.netbeans.modules.jbosswebxml.palette;import java.io.IOException;import link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteController.html[org.netbeans.spi.palette.PaletteController];import link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteFactory.html[org.netbeans.spi.palette.PaletteFactory];public class jbossddPaletteFactory {public static final String JBOSS_PALETTE_FOLDER = "JBOSSPalette";private static PaletteController palette = null;public static PaletteController getPalette() throws IOException {if (palette == null)palette = PaletteFactory.createPalette(JBOSS_PALETTE_FOLDER, new jbossddPaletteActions()); return palette;}}
----
[start=4]
1. ``jbossddPaletteActions.java`` ファイル�?�デフォルト�?�内容を次�?�置�??�?��?��?��?�:
[source,java]
----
package org.netbeans.modules.jbosswebxml.palette;import java.awt.event.ActionEvent;import java.io.IOException;import javax.swing.AbstractAction;import javax.swing.Action;import javax.swing.text.JTextComponent;import org.netbeans.editor.Utilities;import org.netbeans.spi.palette.PaletteActions;import org.netbeans.spi.palette.PaletteController;import org.openide.DialogDisplayer;import org.openide.NotifyDescriptor;import org.openide.text.ActiveEditorDrop;import org.openide.util.Lookup;import org.openide.util.NbBundle;public class jbossddPaletteActions extends link:https://bits.netbeans.org/dev/javadoc/org-netbeans-spi-palette/org/netbeans/spi/palette/PaletteActions.html[PaletteActions] {/** Creates a new instance of jbossddPaletteActions */public jbossddPaletteActions() {}public Action[] getImportActions() {return new Action[0]; //TODO implement this}public Action[] getCustomCategoryActions(Lookup category) {return new Action[0]; //TODO implement this}public Action[] getCustomItemActions(Lookup item) {return new Action[0]; //TODO implement this}public Action[] getCustomPaletteActions() {return new Action[0]; //TODO implement this}public Action getPreferredAction( Lookup item ) {return new MFPaletteInsertAction(item);}private static class MFPaletteInsertAction extends AbstractAction {private Lookup item;MFPaletteInsertAction(Lookup item) {this.item = item;}public void actionPerformed(ActionEvent e) {ActiveEditorDrop drop = (ActiveEditorDrop) item.lookup(ActiveEditorDrop.class);JTextComponent target = Utilities.getFocusedComponent();if (target == null) {String msg = NbBundle.getMessage(jbossddPaletteActions.class, "MSG_ErrorNoFocusedDocument");DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(msg, NotifyDescriptor.ERROR_MESSAGE));return;}try {drop.handleTransfer(target);}finally {Utilities.requestFocus(target);}try {PaletteController pc = jbossddPaletteFactory.getPalette();pc.clearSelection();}catch (IOException ioe) {} //should not occur}}}
----
[start=5]
1. ``jbossddPaletteUtilities.java`` ファイル�?�デフォルト�?�内容を次�?�置�??�?��?��?��?�:
[source,java]
----
package org.netbeans.modules.jbosswebxml.palette;import java.awt.Component;import java.awt.Container;import java.util.StringTokenizer;import javax.swing.JTree;import javax.swing.text.BadLocationException;import javax.swing.text.Caret;import javax.swing.text.Document;import javax.swing.text.JTextComponent;import org.netbeans.api.project.FileOwnerQuery;import org.netbeans.api.project.Project;import org.netbeans.api.project.ProjectUtils;import org.netbeans.api.project.SourceGroup;import org.netbeans.api.project.Sources;import org.netbeans.editor.BaseDocument;import org.netbeans.editor.Formatter;import org.openide.filesystems.FileObject;public class jbossddPaletteUtilities {/** Creates a new instance of jbossddPaletteUtilities */public jbossddPaletteUtilities() {}public static void insert(String s, JTextComponent target)throws BadLocationException {insert(s, target, true);}public static void insert(String s, JTextComponent target, boolean reformat)throws BadLocationException {if (s == null)s = "";Document doc = target.getDocument();if (doc == null)return;if (doc instanceof BaseDocument)((BaseDocument)doc).atomicLock();int start = insert(s, target, doc);if (reformat &amp;&amp; start >= 0 &amp;&amp; doc instanceof BaseDocument) { // format the inserted textint end = start + s.length();Formatter f = ((BaseDocument)doc).getFormatter();f.reformat((BaseDocument)doc, start, end);}if (doc instanceof BaseDocument)((BaseDocument)doc).atomicUnlock();}private static int insert(String s, JTextComponent target, Document doc)throws BadLocationException {int start = -1;try {//at first, find selected text rangeCaret caret = target.getCaret();int p0 = Math.min(caret.getDot(), caret.getMark());int p1 = Math.max(caret.getDot(), caret.getMark());doc.remove(p0, p1 - p0);//replace selected text by the inserted onestart = caret.getDot();doc.insertString(start, s, null);} catch (BadLocationException ble) {}return start;}}
----
[start=6]
1. ``jbossddPaletteCustomizerAction.java`` ファイル�?�デフォルト�?�内容を次�?�置�??�?��?��?��?�:
[source,java]
----
package org.netbeans.modules.jbosswebxml.palette;import java.io.IOException;import org.openide.ErrorManager;import org.openide.util.HelpCtx;import org.openide.util.NbBundle;import link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/actions/CallableSystemAction.html[org.openide.util.actions.CallableSystemAction];public class jbossddPaletteCustomizerAction extends link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/actions/CallableSystemAction.html[CallableSystemAction] {private static String name;public jbossddPaletteCustomizerAction () {putValue("noIconInMenu", Boolean.TRUE); // NOI18N}protected boolean asynchronous() {return false;}/** Human presentable name of the action. This should be* presented as an item in a menu.* @return the name of the action*/public String getName() {if (name == null)name = NbBundle.getBundle(jbossddPaletteCustomizerAction.class).getString("ACT_OpenjbossddCustomizer"); // NOI18Nreturn name;}/** Help context where to find more about the action.* @return the help context for this action*/public HelpCtx getHelpCtx() {return null;}/** This method is called by one of the "invokers" as a result of* some user's action that should lead to actual "performing" of the action.*/public void performAction() {try {jbossddPaletteFactory.getPalette().showCustomizer();}catch (IOException ioe) {ErrorManager.getDefault().notify(ErrorManager.EXCEPTION, ioe);}}}
----
[start=7]
1. ``jbossddPaletteDropDefault.java`` ファイル�?�デフォルト�?�内容を次�?�置�??�?��?��?��?�:
[source,java]
----
package org.netbeans.modules.jbosswebxml.palette;import javax.swing.text.BadLocationException;import javax.swing.text.JTextComponent;import org.openide.text.ActiveEditorDrop;public class jbossddPaletteDropDefault implements ActiveEditorDrop {String body;public jbossddPaletteDropDefault(String body) {this.body = body;}public boolean handleTransfer(JTextComponent targetComponent) {if (targetComponent == null)return false;try {jbossddPaletteUtilities.insert(body, (JTextComponent)targetComponent);}catch (BadLocationException ble) {return false;}return true;}}
----
[start=8]
1. ``org.netbeans.modules.jbosswebxml.palette`` ノード�?��?�クリック�?��?「新�?�?�?「ファイル/フォルダ�?を�?��?��?「�??�?�他�?�?�カテゴリ�?�ら「プロパティー�?ファイルを�?�択�?��?��?�。「次�?��?をクリック�?� �?��?�。「�??�?�?�?�「Bundle�?�?�入力�?�「完了�?ボタンを押�?��?��?�。�?��?�新�?��?� ``Bundle.properties`` ファイル�?�次�?�キーを追加�?��?��?�:
[source,java]
----
MSG_ErrorNoFocusedDocument=No document selected. Please select a document to insert the item into.ACT_OpenJbossddCustomizer=&amp;JBoss Code Clips
----
=== コードスニペット�?�作�?
�??れ�?�れ�?�コードスニペット�?��?�次�?�ファイル�?�必�?�?��?�:
* ソースエディタ�?�ドラッグ�?�れるコード�?�一部を定義�?��?� Java クラス。�?��?� Java クラス�?��?��?�よ�?��?�コード�?�挿入�?�れる�?��??�?�を定義�?��?� ``jbossddPaletteUtilities.java`` を�?�照�?�る必�?�?��?�り�?��?�。�?��?��?��?��?インデント設定�?�フォーマット�?��?��?��?�定義�?�れ�?��?�。
* プロパティーファイル�?�ラベル�?�ツール�?ップを定義�?��?��?�。
* 16x16 ピクセルイメージ�?��?�?��?�アイコン�?��?�表示用�?��?�。
* 32x32 ピクセルイメージ�?�大�??�?�アイコン�?��?�表示用�?��?�。
NetBeans モジュール�?�上�?�ファイルを作�?�?��?追加�?��?��?��?��?��?�れらをリソース宣言 XML ファイル�?�宣言�?��?��?�。 ``layer.xml`` を使�?��?� NetBeans システムファイルシステム�?�登録�?��?��?�。
�?��?�詳細�?� link:nbm-palette-api1.html[NetBeans コードスニペットモジュール�?��?ュートリアル] を�?�照�?��?��??�?��?��?�。
例�?��?��?�3�?��?�コードスニペットを ``ContextRoot.java`` �? ``ResourceReference.java`` �? ``SecurityDomain.java`` �?��?��?�作�?�?��?��?��?�る�?��?�?果�?�次�?�よ�?��?��?�り�?��?�。以下�?��?�択�?�れ�?�パッケージ�?�コードスニペット�?�サ�?ートリソース�?��?��?�れ�?��?��?��?�:
image::images/componentpalette_palette4_ja.png[]
== モジュール�?�登録
[start=1]
1. 次�?�タグを ``layer.xml`` ファイル�?�追加�?��?��?�:
[source,xml]
----
<folder name="Menu"><folder name="Tools"><folder name="PaletteManager"><file name="org-netbeans-modules-jbosswebxml-palette-jbossddPaletteCustomizerAction.instance"/></folder></folder></folder><folder name="JBOSSPalette"><folder name="JBoss"> <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.jbosswebxml.palette.Bundle"/><file name="ContextRoot.xml" url="nbresloc:/org/netbeans/modules/jbosswebxml/palette/items/resources/ContextRoot.xml"/><file name="SecurityDomain.xml" url="nbresloc:/org/netbeans/modules/jbosswebxml/palette/items/resources/SecurityDomain.xml"/><file name="ResourceReference.xml" url="nbresloc:/org/netbeans/modules/jbosswebxml/palette/items/resources/ResourceReference.xml"/></folder></folder>
----
[start=2]
1. 以下を ``layer.xml`` ファイル�?��?��?�パッケージ内�?� ``Bundle.properties`` ファイル�?�追加�?��?��?�:
[source,java]
----
JBOSSPalette/JBoss=JBoss Deployment DescriptorJBOSSPalette/JBoss/ContextRoot.xml=Context RootJBOSSPalette/JBoss/ResourceReference.xml=Resource ReferenceJBOSSPalette/JBoss/SecurityDomain.xml=Security Domain
----
上記�?�キー-値�?�ペア�?� ``layer.xml`` ファイル�?�登録�?�れ�?�項目をローカライズ�?��?��?�。
[start=3]
1. 必�?�?�応�?��?�他�?�モジュール�?��??供�?�れ�?��?�るコードスニペット�?�マージ�?��??�?��?�。�?��?��?��?��? ``jboss-web.xml`` ファイル�?� JSP モジュールや HTML モジュール�?��??供�?�れ�?��?�るコードスニペット�?�アクセス�?��??るよ�?��?�マージ�?��?��?�場�?��?�次�?�よ�?��?��?��?��?�:
* ``org.netbeans.modules.jbosswebxml.palette`` �?��?��?HTML モジュール�?� JSP モジュール�?��??供�?��?��?�る�?��??�?��?��?�アクション�??�?�一致�?�るよ�?��?� ``ACT_OpenJbossddCustomizer`` �?�値を変更�?��?��?�:
[source,java]
----
ACT_OpenJbossddCustomizer=&amp;HTML/JSP Code Clips
----
* ``layer.xml`` ファイル�?�以下�?�2�?��?�行を追加�?�る�?��?��?�よ�?��?�2�?��?�アクションを隠�?��?��?�。�?��?�部分�?� HTML モジュール�?� JSP モジュール�?�アクションを JSP/HTML コードクリップパレットマ�?ージャーを表示�?��?��?��?��?�。
[source,xml]
----
<folder name="Menu"><folder name="Tools"><folder name="PaletteManager"><file name="org-netbeans-modules-jbosswebxml-palette-jbossddPaletteCustomizerAction.instance"/>*<file name="org-netbeans-modules-html-palette-HTMLPaletteCustomizerAction.instance_hidden"/>
<file name="org-netbeans-modules-web-core-palette-JSPPaletteCustomizerAction.instance_hidden"/>*</folder></folder></folder>
----
* 最後�?� HTML モジュール�?� JSP モジュール�?�リソース宣言 XML ファイルを宣言�?��?��?�:
[source,xml]
----
<folder name="JBOSSPalette"><folder name="JBoss"><attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.jbosswebxml.Bundle"/><file name="ContextRoot.xml" url="ContextRoot.xml"/><file name="ResourceReference.xml" url="ResourceReference.xml"/><file name="SecurityDomain.xml" url="SecurityDomain.xml"/></folder>*<folder name="HTML.shadow">
<attr name="SystemFileSystem.localizingBundle"
stringvalue="org.netbeans.modules.web.core.palette.Bundle"/>
<attr name="originalFile"
stringvalue="HTMLPalette/HTML"/>
</folder>
<folder name="HTML_Forms.shadow">
<attr name="SystemFileSystem.localizingBundle"
stringvalue="org.netbeans.modules.web.core.palette.Bundle"/>
<attr name="originalFile"
stringvalue="HTMLPalette/HTML_Forms"/>
</folder>
<folder name="JSP.shadow">
<attr name="SystemFileSystem.localizingBundle"
stringvalue="org.netbeans.modules.web.core.palette.Bundle"/>
<attr name="originalFile"
stringvalue="JSPPalette/JSP"/>
</folder>
<folder name="Database.shadow">
<attr name="SystemFileSystem.localizingBundle"
stringvalue="org.netbeans.modules.web.core.palette.Bundle"/>
<attr name="originalFile"
stringvalue="JSPPalette/Database"/>
</folder>*</folder>
----
�?�れ�?�モジュールを構築�?��?インストール�?�る�?��?次�?�セクション�?�説明�?�るよ�?��?� ``jboss-web.xml`` ファイル用�?�コン�?ー�?ントパレット�?� JSP モジュール�?��??供�?�れ�?��?�る _�?��?��?��?�_ コードスニペット�?HTML モジュール�?��??供�?�れ�?��?�る _�?��?��?��?�_ コードスニペットを�?�ん�?�表示�?�れ�?��?�。
== モジュール�?�構築�?�インストール
IDE �?�モジュール�?�構築�?�よ�?�インストール�?� Ant 構築スクリプトを使用�?��?��?�。構築スクリプト�?�プロジェクト�?�作�?時�?�作�?�?�れ�?��?�。
=== モジュール�?�インストール�?�使用
[start=1]
1. 「プロジェクト�?ウィンドウ�?�「 ``jbosswebxml`` �?プロジェクトを�?�クリック�?�「ターゲットプラットフォーム�?��?�イ ンストール/�?読�?�込�?��?を�?��?��?��?�。
モジュール�?�構築�?�れターゲットプラットフォーム�?�インストール�?�れ�?��?�。ターゲットプラットフォーム�?�起動�?�新�?モジュールを試�?��?��?��?� �?��??�?��?�。デフォルト�?�ターゲットプラットフォーム�?��?� IDE �?��?�在�?�インスタンス�?�使用�?��?��?�るインストール�?��?�。
[start=2]
1. 使�?�方�?� <<installing-sample,サンプル�?�インストール>> セクション�?�説明�?��?��?��?��?��?��?�モジュール�?�正�?��??インストール�?��??�?��?�る�?��?��?��?�確�?�?��?��??�?��?��?�。
=== 共有�?�能�?�モジュール�?イナリ�?�作�?
[start=1]
1. 「プロジェクト�?ウィンドウ�?� ``newhtmlsnippet`` プロジェクトを�?�クリック�?��?「NBM を作�?�?を�?�択�?��?��?�。
NBM ファイル�?�作�?�?�れ�?��?�。「ファイル�?ウィンドウ (Ctrl-2) �?�確�?�?��??�?��?�:
image::images/componentpalette_create-nbm_ja.png[]
[start=2]
1. メール�?��?��?��?付�?�る�?��?��?�より他�?�人�?��?布�?共有�?��??�?��?�。
[start=3]
1. アップデートセンターを使�?��?�モジュールをインストール�?��??�?��?�。メインメニュー�?�「ツール�?>「アップデートセンター�? を�?�択�?��?��??�?��?��?�。
== 次�?�ステップ
NetBeans モジュール�?�開発�?�作�?�?�詳細�?�次�?�リソースを�?�照�?��?��??�?��?��?�:
* link:https://netbeans.apache.org/platform/index.html[モジュール開発者リソース]
* link:https://bits.netbeans.org/dev/javadoc/[NetBeans API リスト (�?�行�?�開発�?ージョン)]
* link:http://apisupport.netbeans.org/new-apisupport.html[新�? API サ�?ート�?��??案]
== �?ージョン
詳細�?�更新履歴�?� link:nbm-palette-api2_ja.html[原文�?�英文] を�?�覧下�?��?�。�?��?�ファイル�?�リビジョン 1.18 を翻訳�?��?��?��?��?�。