corner imagecorner image FeaturesPluginsPlatformDocs & SupportCommunityPartners


NetBeans プラットフォーム HTML エディタ

このチュートリアルでは、簡単な HTML エディタの作成を通して、NetBeans プラットフォームのワークフローを簡潔に紹介します。簡単ではあっても、作成する HTML エディタは、NetBeans プラットフォームが提供するインフラストラクチャーを再利用するため、非常に成熟したものになります。たとえば、コーディングを行わなくても、HTML エディタは成熟したウィンドウシステムを持ちます。このチュートリアルを終了すれば、NetBeans プラットフォーム上でアプリケーションを作成、構築、および実行する方法に関する全般的な理解が得られます。

このチュートリアルを終了したら、NetBeans プラットフォームの学習のチュートリアルに進むことができます。学習の各チュートリアルは、さまざまな種類のアプリケーションに利用できる NetBeans API を幅広く網羅しています。このチュートリアルを省略し、「Hello World」アプリケーションを作成しないで学習のチュートリアルに進んでもかまいません。

注: このドキュメントでは NetBeans IDE 6.7 リリースを使用します。これ以前のバージョンを使用している場合、このドキュメントの 6.1 バージョンを参照してください。NetBeans プラットフォームをはじめて使用する場合、このチュートリアルを進める前に「NetBeans プラットフォームのクイックスタート」を確認することをお勧めします。NetBeans プラットフォームアプリケーションを作成する方法を学習する代わりに、NetBeans プラグインを作成する方法を学習する場合は、「NetBeans プラグインクイックスタート」を参照してください。

目次

このページの内容は NetBeans IDE 6.5、6.7、および 6.8 が対象です

このチュートリアルを行うには、次の表に示すソフトウェアおよびリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE version 6.7 以上
Java Developer Kit (JDK) version 6 または
version 5

トラブルシューティングのために、完了したサンプルをダウンロードしてソースを調べることもできます (任意)。

このチュートリアルの最後で、次のような HTML エディタができます。

最終 HTML エディタ

注: 非常に簡単なデモアプリケーションですが、おもちゃではありません。コード補完、妥当性検査、事前定義済みの HTML スニペットなどの機能を備えた、HTML ページの簡単な編集をサポートする実際のプログラムです。

このチュートリアルで作成する HTML エディタは、「NetBeans プラットフォーム上」に構築されるリッチクライアントアプリケーションです。これは IDE のコア、つまり NetBeans プラットフォームがアプリケーションのベースになることを意味しています。NetBeans プラットフォーム上で必要なモジュールを追加し、IDE には必要だがアプリケーションでは必要のないモジュールを除外します。ここでは、NetBeans プラットフォームに追加される、ベースである IDE モジュールの一部が表示されます。

NetBeans プラットフォームアプリケーションの構造

この HTML エディタを作成するということは、アプリケーションスケルトンを生成するということです。必要ないモジュールとユーザーインタフェース項目を除外し、IDE の起動時にデフォルトで開くウィンドウとして「お気に入り」ウィンドウを設定します。これらのアクティビティーはすべて、IDE のユーザーインタフェース要素でサポートされています。

NetBeans プラットフォーム上に各種機能を備えたアプリケーションを構築する、より正確にはアセンブルすることが、いかに単純で簡単であるかを自分で体験できます。最後に、WebStart を使用して簡単にダウンロードおよび起動できる最終製品の作成方法が表示されます。

注: それが単体の製品であっても、このチュートリアルのために NetBeans プラットフォームを別途ダウンロードする必要はありません。IDE でリッチクライアントアプリケーションを開発したあとで、アプリケーションにとって不要な IDE 特有のモジュールを除外します。

スケルトンアプリケーションの生成

NetBeans プラットフォーム上にアプリケーションを作成するときは、まず NetBeans プラットフォームアプリケーションプロジェクトを作成します。デフォルトの NetBeans プラットフォームアプリケーションプロジェクトには、NetBeans IDE に含まれているすべてのモジュールだけでなく、NetBeans プラットフォームに含まれているすべてのモジュールも含まれます。これらのモジュールのすべてが必要ではないため、必要のないものを除外します。

  1. 「新規プロジェクト」(Ctrl-Shift-N) ウィザードを使用して、次に示すように、「NetBeans モジュール」カテゴリのテンプレートから「NetBeans プラットフォームアプリケーション」プロジェクトを作成します。

    新規プロジェクトウィザード

    「次へ」をクリックし、NetBeans プラットフォームアプリケーションプロジェクトの名前を「NetBeansHTMLEditor」にします。「完了」をクリックします。

  2. プロジェクトノードを右クリックして「プロパティー」を選択し、NetBeans プラットフォームアプリケーションの「プロジェクトプロパティー」ダイアログでいくつかの変更を行います。
    • 「構築」パネルで「スタンドアロンアプリケーションを作成」ラジオボタンがクリックされていることを確認し、NetBeans プラットフォーム上のリッチクライアントアプリケーションにすることを指定します。

      実行可能アプリケーションのブランド名を確認し、タイトルバーのアプリケーションタイトルを次のように変更します。

      アプリケーションパネル
    • 「スプラッシュ画面」パネルで、次に示すように、アプリケーションのスプラッシュ画面、進捗バーのブランディングを提供できることを確認します。「スプラッシュ画面」パネル

      注: スプラッシュ画面がない場合は、これを使用してください。

      .
  3. 「プロジェクトプロパティー」ダイアログの「ライブラリ」パネルに、「クラスタ」が一覧表示されます。クラスタとは、関連するモジュールの集合のことです。ここで選択する必要のあるクラスタは、次に示すように、ide11platform11 のみです。

    アプリケーションパネル

    次に、「解決」ボタンをクリックすると、アプリケーションの一部として選択したモジュールによって必要とされる一連のモジュールに、必要なモジュールが追加されます。「解決」ボタンが消え、エラーを示す赤いメッセージがなくなります。

    アプリケーションパネル

これで HTML エディタに関連する NetBeans モジュールのサブセットができました。ただし、今あるモジュールは必要ですが、これらのモジュールにあるユーザーインタフェース要素すべてが必要というわけではありません。次の節では、特に、作成する HTML エディタに対する、ユーザーインタフェースの調整と、ウィンドウレイアウトのカスタマイズを行います。

ユーザーインタフェースの調整

選択したモジュールにあるユーザーインタフェースの多くを、保持したり拒否したりできます。たとえば、HTML エディタでは、「ツール」メニュー以下の項目の一部またはすべてはおそらく必要ありません。同様に、必要ないツールバーやツールバーボタンがある場合もあります。この節では、特定のリッチクライアントアプリケーションに有用なものだけ残すように、IDE のユーザーインタフェースを削除します。

  1. NetBeans プラットフォームアプリケーションプロジェクトを展開し、次に示すように、「モジュール」ノードを右クリックして「新規を追加」を選択します。

    コンテキスト内のこのレイヤー

    「新規プロジェクト」(Ctrl-Shift-N) ウィザードが表示されます。プロジェクトの名前を BrandingModule にして、「次へ」をクリックします。

  2. 「コードベース名」フィールドに「org.netbeans.brandingmodule」と入力します。
  3. 「XML レイヤーを生成」を選択し、「完了」をクリックします。
  4. ブランドモジュールで、layer.xml ノードを展開します。2 つのサブノードが展開されます。

    XML レイヤーファイルを展開

  5. <コンテキスト内のこのレイヤー> ノードには、すべてのモジュールがレイヤーで登録する、すべてのフォルダおよびファイルがマージされた状態で表示されます。項目を除外するには、次に示すように、その項目を右クリックして「削除」を選択します。

    コンテキスト内のこのレイヤー

    次に、IDE ではモジュールの layer.xml ファイルにタグが追加されます。そのファイルにより、モジュールがインストールされるときに、削除した項目が非表示になります。たとえば、「Menu Bar/Edit」を右クリックすると、HTML エディタに必要のないメニュー項目を「編集」メニューから削除できます。これにより、layer.xml ファイルに次のようなスニペットを生成します。

    <folder name="Menu">
        <folder name="Edit">
            <file name="org-netbeans-modules-editor-MainMenuAction$StartMacroRecordingAction.instance_hidden"/>
            <file name="org-netbeans-modules-editor-MainMenuAction$StopMacroRecordingAction.instance_hidden"/>
        </folder>       
    </folder>

    前のスニペットの結果、ほかのモジュールによって提供された Start Macro Recording および Stop Macro Recording アクションが、ブランドモジュールによってメニューから削除されます。それらをふたたび表示するには、layer.xml ファイルから上部のタグを削除するだけです。

  6. 前の手段で説明されている方式を使用して、必要な数のツールバー、ツールバーのボタン、メニュー、およびメニュー項目を非表示にします。この段階を終了したら、layer.xml ファイルを確認します。これを行うと、削除した項目に応じて、次のようなものが表示されるはずです。
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
    <filesystem>
        <folder name="Menu">
            <file name="BuildProject_hidden"/>
            <folder name="File">
                <file name="Separator2.instance_hidden"/>
                <file name="SeparatorNew.instance_hidden"/>
                <file name="SeparatorOpen.instance_hidden"/>
                <file name="org-netbeans-modules-project-ui-CloseProject.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-CustomizeProject.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-NewFile.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-NewProject.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-OpenProject.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-RecentProjects.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-SetMainProject.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-groups-GroupsMenu.shadow_hidden"/>
            </folder>
            <file name="Refactoring_hidden"/>
            <file name="RunProject_hidden"/>
            <folder name="Window">
                <file name="ViewRuntimeTabAction.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-logical-tab-action.shadow_hidden"/>
                <file name="org-netbeans-modules-project-ui-physical-tab-action.shadow_hidden"/>
            </folder>
        </folder>
    </filesystem>

ウィンドウレイアウトの調整

<コンテキスト内のこのレイヤー> ノードを使用して、既存の項目を削除するだけではなく、それらの内容を変更することもできます。たとえば、HTML エディタは HTML ファイルを対象とします。したがって、Java ソースファイルやプロジェクトにも使用する通常の IDE とは異なり、初期レイアウトに「お気に入り」ウィンドウを表示することは理にかなっています。

ウィンドウレイアウトの定義も、このレイヤーにファイルとして記述され、Windows2 フォルダにすべて格納されます。Windows2 フォルダ内のファイルは、ウィンドウシステム API によって定義された、擬似的に読解可能な XML ファイルです。これらはかなり複雑です。ただし次に示すように、HTML エディタのためにはこれらを完全に理解する必要はありません。

  1. ブランドモジュールの <コンテキスト内のこのレイヤー> ノードで、次に強調表示されている「favorites.settings」および「favorites.wstcref」という名前の 2 ファイルについて、Windows2/Components および Windows2/Modes を確認します。

    「お気に入り」ウィンドウの検索

    最初のファイルはコンポーネントがどのように見えるか、またどのように作成されるかを定義します。これは変更する必要がないので、このファイルは編集する必要はありません。2 番目のファイルは目的に関わるファイルです。その内容は次のようになっています。

    <tc-ref version="2.0">
        <module name="org.netbeans.modules.favorites/1" spec="1.1" />
        <tc-id id="favorites" />
        <state opened="false" />
    </tc-ref>
  2. この XML のほとんどの意味がわからないとしても、ほかのドキュメントを読まずに理解できる箇所が 1 行だけあります。falsetrue に変更すると、そのコンポーネントをデフォルトで開くことができます。これをやってみましょう。
  3. 同様に、「コンポーネントパレット」をデフォルトで開くように CommonPalette.wstcref ファイルを変更できます。

これで、ブランドモジュールに新しいファイルが含まれていることが表示されます。変更したファイルそれぞれに一つです。実際には、これらのファイルは前の手順で検出したファイルをオーバーライドします。これらは、モジュールの layer.xml ファイルに自動的に登録されます。

「お気に入り」ウィンドウの調整

「ファイル」ウィンドウに表示される、NetBeans プラットフォームアプリケーションプロジェクトの branding フォルダのサブフォルダでは、NetBeans のソースで定義された文字列をオーバーライドできます。この節では、「お気に入り」ウィンドウで使用されるラベルを定義する文字列をオーバーライドします。たとえば、特に HTML ファイル用にそのウィンドウを使用するため、「お気に入り」ラベルを「HTML ファイル」に変更します。

  1. 「ファイル」ウィンドウを開いて NetBeans プラットフォームアプリケーションプロジェクトの branding フォルダを展開します。
  2. branding/modules 内に新しいフォルダ構造を作成します。IDE では、フォルダを右クリックし、「新規」>「その他」を選択して「その他」カテゴリからフォルダを選択することで、フォルダを作成できます。新しいフォルダに org-netbeans-modules-favorites.jar という名前を付けます。そのフォルダ内に、org/netbeans/modules/favorites のフォルダ構造を作成します。最終フォルダ、つまり favorites 内に、新しい Bundle.properties ファイルを作成します。

    「お気に入り」ウィンドウのブランディング

    このフォルダ構造とプロパティーファイルは、「お気に入り」ウィンドウに関係する NetBeans のソースのフォルダ構造と一致します。

  3. 次のスクリーンショットに示す文字列を追加し、「お気に入り」ウィンドウのソース内の一致するプロパティーファイルで定義されている同じ文字列をオーバーライドします。

    「お気に入り」ウィンドウのブランディング

    この手順を簡素化するには、前に定義した文字列をコピー&ペーストします。

    Favorites=HTML ファイル
    ACT_AddOnFavoritesNode=HTML ファイルを検索(&F)
    ACT_Remove=HTML ファイルの一覧から削除(&R)
    ACT_View=HTML ファイル
    ACT_Select=HTML ファイル
    ACT_Select_Main_Menu=HTML ファイルの一覧から選択
    
    # JFileChooser
    CTL_DialogTitle=HTML ファイルの一覧に追加
    CTL_ApproveButtonText=追加
    ERR_FileDoesNotExist={0} が存在しません。
    ERR_FileDoesNotExistDlgTitle=HTML ファイルの一覧に追加
    MSG_NodeNotFound=HTML ファイルの一覧にドキュメントノードは見つかりませんでした。

あとでアプリケーションを起動すると、「お気に入り」ウィンドウのテキストとラベルが、前述の一覧のように変更されていることがわかります。これは、NetBeans プラットフォームからコンポーネントを取得し、必要に合わせてブランディングできることを示しています。

アプリケーションの実行

アプリケーションの実行は、プロジェクトノードを右クリックしてメニュー項目を選択するのと同じくらい簡単です。

  1. アプリケーションのプロジェクトノードを右クリックし、「すべてを削除して構築」を選択します。
  2. アプリケーションのプロジェクトノードを右クリックし、「実行」を選択します。
  3. アプリケーションが配備されたら、「お気に入り」ウィンドウ内を右クリックし、HTML ファイルを含むフォルダを選択します。次に、次に示すように、HTML ファイルを開くことができます。

    HTML ファイルを開く

これで、Java コードを 1 行も入力せずに、完全で機能的な HTML エディタを作成できました。

アプリケーションの配布

アプリケーションの配布用として、2 つの方法のうち 1 つを選択します。アプリケーションの制御をできるだけ維持する場合、Web 経由でアプリケーションを配布する Web Start (JNLP) を使用します。このシナリオでは、アプリケーションをアップデートする場合は、ローカルで作業し、エンドユーザーにアップデートについて知らせます。エンドユーザーが次回 Web からアプリケーションを起動するときに、自動的に使用可能になります。または、アプリケーションを含む ZIP ファイルを配布します。エンドユーザーは、ローカルで利用できるアプリケーションを入手できます。次に説明するアップデート機構を使用して、アップデートおよび新しい機能を配布します。

ZIP ファイルを使用したアプリケーションの配布

アプリケーションを拡張可能にするには、ユーザーにアプリケーションの機能を拡張するためのモジュールをインストールさせる必要があります。これを行うため、アプリケーションはすでにプラグインマネージャーをバンドルしています。

  1. 「ツール」>「プラグイン」メニュー項目を選択し、HTML エディタで役立つプラグインをいくつかインストールします。プラグインポータルを参照し、適切なものをいくつか検索します。これも、エンドユーザーがアプリケーションのローカルインストールを更新する方法です。
  2. アプリケーションのプロジェクトノードを右クリックし、「配布用 ZIP を構築」を選択します。
  3. dist フォルダ (「ファイル」ウィンドウに表示される) で、展開可能な ZIP ファイルとその内容を確認できるはずです。

    生成された ZIP ファイル

    注: アプリケーションの起動ツールは、前に示すように、bin フォルダに作成されます。

共有の NetBeans Web Start リポジトリからの HTML エディタの配布

ZIP ファイルを配布する代わりに、「JNLP アプリケーションを実行」を使用してアプリケーションを最初に起動するときに生成される master.jnlp ファイルを調整して、Web Start による配布を準備してみましょう。作業を行なっていても、まだ配布の準備は整っていません。少なくとも、情報セクションを変更して、より良い説明やアイコンを提供する必要があります。

標準 JNLP インフラストラクチャーに対するほかの変更は、www.netbeans.org での共有 JNLP リポジトリの使用です。デフォルトでは、スイート用に生成される JNLP アプリケーションには、常に、そのすべてのモジュールと依存するすべてのモジュールが含まれます。これはイントラネットでの使用時に便利な場合もありますが、幅広くインターネットで使用する場合には、やや実用性に欠けることがあります。インターネットの場合、NetBeans プラットフォームに構築されたすべてのアプリケーションは、NetBeans モジュールの 1 つのリポジトリを参照するほうがよいでしょう。これは、そのようなモジュールは共有されるため、何度もダウンロードする必要がないからです。

NetBeans 6.1 にはそのようなリポジトリがあります。NetBeans IDE のすべてのモジュールは含まれていませんが、HTML エディタのような IDE 以外のアプリケーションを作成するのに十分なものが含まれています。リポジトリを使用するには、正しい URL を追加して、platform.properties を変更するだけです。

# netbeans.org の共通のリポジトリからライブラリを共有
# この URL は release65 JNLP ファイル専用:
jnlp.platform.codebase=http://bits.netbeans.org/6.5/jnlp/

アプリケーションが JNLP アプリケーションとして起動されるとすぐに、すべての共有プラグインモジュールが netbeans.org から読み込まれ、同様のアプリケーション間で共有されます。

関連項目

これで、NetBeans の HTML エディタのチュートリアルは終わりです。NetBeans プラットフォームでのアプリケーションの作成と開発の詳細については、次のリソースを参照してください。

Project Features

Project Links

About this Project

Platform was started in November 2009, is owned by Antonin Nebuzelsky, and has 129 members.
 
 
Close
loading
Please Confirm
Close