編集部からのお知らせ
宇宙ビジネスの記事まとめダウンロード
記事まとめ「テレワーク常態化で見えたこと」

Java IDE新潮流--第2回 NetBeans 6.0でGUI開発

竹添直樹(NTTデータ先端技術)

2007-06-08 09:00

 NetBeansは初期の頃から使いやすいAWT/Swing用のGUIデザイナを備えており、これまでもGUIアプリケーションの開発のには定評があった。NetBeans 5.5ではさらにMatisseという新たなGUIビルダを採用し、Visual StudioのGUIビルダに匹敵し得る使い勝手を実現した。

NetBeansのGUIビルダ NetBeansのGUIビルダ

 このように優れたGUIアプリケーション開発支援機能を搭載しているNetBeansだが、6.0ではさらに以下のような新機能が提供されている。

  • カテゴライズされ、使いやすくなったコンポーネントパレット
  • Swing Application Frameworkのサポート
  • データベースアプリケーション開発のサポート
  • Beans Bindingのサポート

 本稿ではこれらの新機能を紹介するとともに、NetBeans 6.0でSwingアプリケーションの開発がどのように変わるのかを見ていきたい。

Swing Application Framework

 まずNetBeans 6.0でサポートされているSwing Application Frameworkについて簡単に説明しておこう。Swing Application Frameworkは現在JSR-296として標準化が行われているSwingアプリケーション用のフレームワークで、SwingでGUIアプリケーションを開発する際に必ず必要となる以下のような共通機能を提供するものだ。

  • アプリケーションのライフサイクル管理
  • メッセージやイメージ等のリソースの管理
  • アクションの管理
  • ウィンドウ状態の保存・復元

 JSR-296はJavaSE 7の候補と1つとしても挙げられており、NetBeans 6.0ではいち早くこのフレームワークをサポートしている。

NetBeansでのGUIアプリケーション開発

 さて、それでは実際にNetBeans 6.0でのGUIアプリケーションの開発手順を見ていこう。新規プロジェクト作成ウィザードから「Java Desktop Application」を選択する。このウィザードではSwing Application Frameworkを使用した基本的なアプリケーションおよびDBと連携したCRUDアプリケーションのいずれかを作成することができる(筆者の環境ではNetBeans 6.0M9でCRUDアプリケーションを作成するとエラーが発生し、正常に動作するプロジェクトを作成することができなかった)。

Java Desktop Application作成ウィザード Java Desktop Application作成ウィザード

 ウィザードで「Basic Application」を選択すると以下のようなプロジェクトが生成される。

ウィザードによって生成されたファイル群 ウィザードによって生成されたファイル群

 上図のうち、MyDesktopApplicationがアプリケーションのライフサイクルを管理するアプリケーションクラス、MyDesktopFrameが実際のGUIを提供する画面クラスとなる。また、resourcesパッケージ配下にはアプリケーションで使用するイメージなどのリソースと、クラスごとにプロパティファイルが作成されている。プロパティファイルはクラスごとに作成され、そのクラスで使用する文字列やイメージなどのリソースを管理するために用いられる。NetBeans 6.0ではプロパティビューでGUIコンポーネントのプロパティを設定すると、プロパティを画面クラスのソースコードに直接埋め込むのではなく、このプロパティファイルに出力される。プロパティはSwing Application Frameworkによって実行時に画面クラスにインジェクションされるのだ。

 また、Swing Application FrameworkはボタンなどのGUIコンポーネントに@Actionというアノテーションを付与したメソッドを紐付ける機能を備えている。GUIビルダ上でGUIコンポーネントを選択し右クリックすると「Set Action」という項目が表示され、コンポーネントから呼び出すメソッドを作成もしくは選択することができる。

アクションの設定 アクションの設定

 メソッドを新規に作成した場合、画面クラスに以下のようなメソッドの雛形が生成される。このメソッド内にボタン押下時などの処理を記述することになる。

@application.Action
public void execute() {
    // put your action code here
}

 次は、データベース連携アプリケーションを作ってみよう。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    MITスローン編著、経営層向けガイド「AIと機械学習の重要性」日本語版

  2. クラウドコンピューティング

    AWS提供! 機械学習でビジネスの成功を掴むためのエグゼクティブ向けプレイブック

  3. クラウドコンピューティング

    DX実現の鍵は「深層学習を用いたアプリ開発の高度化」 最適な導入アプローチをIDCが提言

  4. セキュリティ

    ランサムウェアを阻止するための10のベストプラクティス、エンドポイント保護編

  5. セキュリティ

    テレワークで急増、リモートデスクトップ経由のサイバー脅威、実態と対策とは

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]