この章では、Javaアプリケーションの開発を支援するためにJDeveloperが提供するツールおよび機能の概要について説明します。
この章では、次の項目について説明します。
JDeveloperでは、JavaBeansを使用してJavaアプレットおよびクライアント・アプリケーションをビルドおよびアセンブルでき、SwingおよびAWTコンポーネントを使用して対話型のデスクトップベースのGUIアプリケーションをビルドおよびアセンブルできます。JDeveloper IDEでJava Web Startを備えたJavaクライアント・アプリケーションを作成および実行することもできます。
JDeveloperには、Javaコードを編集、最適化、実行およびデバッグするためのリソースが用意されています。
Javaソース・ファイルの編集: ソース・エディタでは、いくつかのJava対応編集機能がサポートされています。詳細は、第18.3項「Javaコードの編集」を参照してください。
Apache Antの構築: 「メイク」コマンドおよび「再ビルド」コマンド、またはApache Antを使用して、プロジェクトをコンパイルします。詳細は、第18.6項「Javaプロジェクトのビルド」を参照してください。
Javaプログラムの実行: 実行、デバッグまたはプロファイリングされるプロセスを追跡します。詳細は、第19章「Javaプログラムの実行およびデバッグ」を参照してください。
Javaプログラムのデバッグ: ローカル・デバッグおよびリモート・デバッグ用のツール。詳細は、第19.6項「デバッガについて」を参照してください。
JavaBeansコンポーネント: JavaBeansコンポーネント・テクノロジにより、Javaオブジェクトのデータ取得、永続性および操作に対して独自のフレームワークを実装できます。詳細は、第18.7項「JavaBeansの使用」を参照してください。
Javaプロジェクトのリファクタ: プログラムの動作を変更しないでコード構造を変更する一連の自動リファクタ操作。詳細は、第18.8項「Javaプロジェクトのリファクタ」を参照してください。
アプリケーションのパフォーマンスの最適化: Javaコードの品質およびパフォーマンスを分析するためのツール。詳細は、第18.9項「アプリケーションのパフォーマンスの最適化」を参照してください。
Javaクラスのモデル化: Javaクラスおよびインタフェースを視覚的に作成するための、または既存のJavaクラスおよびインタフェースをグラフィカルに表示するためのツール。詳細は、第18.11項「Javaクラスのモデリング」を参照してください。
JUnitのユニット・テスト: オープン・ソースのJUnitフレームワークを使用して、Javaコードを検証するテストを記述および実行するためのツール。詳細は、第18.12項「JUnitによるユニット・テスト」を参照してください。
Javaソース・エディタではJavaソース・ファイルが表示され、Javaコードを編集できます。Javaソース・エディタはJDeveloperに用意されている特殊な形式の汎用ソース・エディタで、XML、JSPおよびHTMLなど、複数のテクノロジ間でソース・コードを編集できます。
Javaソース・エディタのJava固有の機能に加えて、すべてのドメイン間でコーディングを拡張するためにJDeveloperに用意されている共通機能セットも使用できます。これらの機能は、ポップアップ・メニューまたは「ソース」メニューを介して使用できます。
アプリケーション・ナビゲータでノードをダブルクリックすると、デフォルトのエディタが開かれるか、前景に表示されます。ソース・エディタでファイルを開くと、対応する要素が「構造」ウィンドウに階層形式で表示されます。「構造」ウィンドウでノードをダブルクリックすると、ソース・エディタに表示されているその要素の定義にフォーカスが移動します。
Javaソース・エディタの動作は、「プリファレンス」ダイアログでプリファレンスを指定することでカスタマイズできます。
Javaソース・エディタには、コード間を簡単かつ迅速に移動できるようにする機能があります。
Javaコード・インサイトでは、最上位のパッケージ、インポートしたクラス、デフォルトのオブジェクト・メソッド、推奨されていない項目など、有益でないと思われる情報をフィルタを使用して除外できます。また、ローカル変数、ローカルで宣言したメンバー、オーバーロードされたメソッドなど、フォーカスを当てる情報を強調できます。
また、メンバー・インサイト、およびコード・インサイトの構文補完インサイトのJava固有の実装を構成し、コード・インサイトのパラメータ・インサイト・ウィンドウに、推奨されていないメンバーを表示するかどうかを選択できます。
メンバー・インサイトは、特定のコンテキストからアクセス可能なインスタンスおよび静的なメンバー(フィールド、メソッド、内部クラス)を示すリストを提供します。たとえば、これにより特定のメソッドからコール可能なメソッドがわかります。
コード・インサイトを使用すると、コード作成のプロセスにかかる時間を短縮できます。コード・インサイトには、構文補完インサイトおよびパラメータ・インサイトの2種類があります。それぞれの機能を個別に使用可または使用不可にしたり、該当する挿入ポイントにカーソルを置いてからポップアップが表示されるまでの遅延時間(秒単位)もそれぞれ設定できます。
構文補完を起動するには、ピリオドを入力した後で休止するか、[Ctrl]キーを押しながら[Space]キーを押します(デフォルト・キーマップの場合)。パラメータ・インサイトを起動するには、左丸カッコを入力した後、休止するか、または[Ctrl]キー、[Shift]キーおよび[Space]キーを同時に押します(デフォルト・キーマップの場合)。いずれのタイプのインサイトも、終了する場合は[Esc]キーを押します。キーマップを変更すると、これらのキーボード・アクセラレータは変わる場合があります。構文補完インサイト・リストの右下にある「QuickDoc」をクリックすると、現在選択されている要素のJavadocを表示できます。
構文補完インサイトによってメソッドが構文補完された後、メソッド・コードに基づいてパラメータが自動的に入力されます。これらのパラメータは、タブ移動し、手動で編集したりパラメータ・インサイトを使用して編集できます。クラスへの未解決の参照の完全一致が1つのみ検出できた場合は、インポートが自動的に追加されます。この機能のプリファレンスは、「プリファレンス」ダイアログで設定できます。
コード・インサイトの設定を変更するか、アクセラレータを表示または変更するには、メイン・メニューで「ツール」→「プリファレンス」を選択して「プリファレンス」ダイアログを開き、該当のページを表示します。詳細は、第17.4.1項「Javaソース・エディタのコード・インサイト・オプションの設定方法」を参照してください。
コード・インサイト機能を使用して、Javaコードに注釈をすばやく追加します。注釈は、プログラム要素に情報を関連付けるために使用されます。注釈は、クラス、フィールド、メソッド、パラメータ、ローカル変数、コンストラクタ、列挙およびパッケージで使用できます。Javaコードに注釈を追加するには、注釈を宣言し、機能を作成し、注釈を追加します。
注釈の追加を開始すると、文コンテキストに基づいて、「メンバー・インサイト」([Ctrl]+[Space])にオプション(フィールド、メンバー、クラス)のリストが表示されます。「パラメータ・インサイト」([Ctrl]+[Shift]+[Space])には、注釈タイプの要素の名前、デフォルト値、作成された値など、注釈に関する情報が表示されます。また、ここでは、注釈内で現在カーソルの下にある要素が強調表示されます。
詳細は、第18.5項「Javaソース・エディタのJavadocオプションのカスタマイズ方法」を参照してください。
[Shift]キーを押しながらマウスを変数またはメソッドの上に置くと、その定義をゴースト・ウィンドウに表示できます。この機能は、現在のコードからカーソルのフォーカスを移動せずにコードをすばやく表示できるので便利です。
垂直スクロール・バーのドラッグ中、バーの横に小さなヒント・ウィンドウが表示され、全部または一部が表示可能なメソッドが画面に表示されます。これにより、クイック・スクロール中にどのメソッドが表示されるかが、より容易にわかります。先頭がその時点で表示されていないメソッドの名前もわかります。
インクリメンタル検索を実行するには、メイン・メニューから「検索」→「次をインクリメンタル検索」または「検索」を選択し、「前をインクリメンタル検索」を選択します。表示されるダイアログで検索する内容を入力します。入力すると、入力した特定の文字の組合せに該当する、前方または後方の次のインスタンスにカーソルが移動します。この検索機能ではワイルドカードはサポートされません。
ショートカット・キー(アクセラレータ)とはキーの組合せであり、マウスではなくキーボードを使用して、移動またはなんらかの操作を実行するために使用できます。様々な事前定義済のキーマップから選択するか、または独自のアクセラレータを定義できます。
既存のアクセラレータの表示または変更、新規アクセラレータの定義、初期設定キーマップのロードを実行するには、メイン・メニューから「ツール」→「プリファレンス」を選択して「プリファレンス」ダイアログを開き、「ショートカット・キー」ページに移動します。エディタのアクセラレータを表示または変更するには、「カテゴリ」リストから「コード・エディタ」を選択します。
ブロック・コメントは、「行コメントの設定」によって指定されます。デフォルト・キーマップでは、[Ctrl]+[Shift]+[/]または[Ctrl]+[/]として定義されています。
コードのブックマーキング時に、次の作業が可能です。
「ブックマーク」ウィンドウで、作成したすべてのブックマークのリストを表示できます。このウィンドウは、「ブックマークに移動」アイコンをクリックすると表示されます。このウィンドウには、ブックマークを含む行番号とメソッド名も表示されます。
キーボード・ショートカット[Ctrl]+[Shift]-[数字]を使用すると、番号付きのブックマークを作成できます。[Ctrl]+[数字]を使用すると、そのブックマークにすばやくナビゲートできます。
開いているJavaファイルの識別子のソースにナビゲートするには、参照する識別子を右クリックし、「宣言に移動」を選択します。[Ctrl]キーを押しながら識別子をクリックして、そのソースに移動することもできます。ソースが使用不可である場合、クラス・ファイルがリバース・エンジニアリングされます。インポートされたクラス、インタフェース、メンバー・フィールド、メソッドおよびローカル変数を参照できます。メソッドまたはコンストラクタのコールを参照している場合、この宣言の検索により型を解決して、適切なメソッドまたはコンストラクタのコールを決定します。たとえば、例17-1のコードの場合、SetTextで宣言検索が取り消されます。javax.swing.JButton
のソース・コードが呼び出され、setText()
メソッドが表示されます。
識別子を参照できない、またはカーソル位置に何もない場合、コンテキスト依存メニューのこの検索コマンドは無効になります。適切な移動先が見つからない場合や、アクセス制約(プライベート・メンバーなど)のために識別子を参照できない場合、Javaソース・エディタのステータス・バーには、その旨を示すメッセージが表示されます。
コード・テンプレートは、コードを手動で入力しなくてすむようにソース・ファイルに挿入できる事前作成済のコードのセクションです。テンプレートでは、挿入されたコードは前後のコードに合うように適切に変更でき、コード・テンプレートに必要なインポートが自動的にインポートされます。ショートカットを使用すると、必要なテンプレートを迅速に選択できます。ソース・ファイル内の任意の位置で[Ctrl]キーを押しながら[Enter]キーを押すと、選択可能なコード・テンプレートのリストが表示されます。このリストに表示されるテンプレートはコンテキストに応じて決定され、現在の位置に適したテンプレートのみが表示されます。このリストの右下隅にある「QuickDoc」をクリックすると、選択したコード・テンプレートの構造が表示されます。たとえば、forループ用として既存のテンプレートを使用している場合は、「for」と入力し、[Ctrl]キーを押しながら[Enter]キー(デフォルト・キーマップの場合)を押します。テンプレートの内容は、次のようになります。
for (;;)
コード・テンプレートの完全なリストは、コード・エディタの「ヘルプ」にあります。コード・テンプレートを編集または作成するか、アクセラレータを表示または変更するには、メイン・メニューで「ツール」→「プリファレンス」を選択して「プリファレンス」ダイアログを開き、該当のページを表示します。
詳細は、第18.3.9項「コード・テンプレートの使用方法」を参照してください。
「プリファレンス」ダイアログを使用して、Javaソース・エディタの動作をカスタマイズできます。
また、「プリファレンス」ダイアログを使用して、一般的なソース編集環境の設定を指定できます。
様々なインサイト・オプションを使用して、必要な処理を設定できます。
Javaに適用されるコード・インサイトのオプションを設定するには、次のようにします。
メイン・メニューから、「ツール」→「プリファレンス」を選択します。
「プリファレンス」ダイアログで、「コード・エディタ」ノードを開きます。
「Java」ノードを開いて、コード・インサイトを選択します。
Javaインサイト・ページで、必要なオプションを設定します。
「OK」をクリックします。
JDeveloperでは、Javaソース・エディタのコメントおよびカッコの一致オプションを設定できます。
ソース・エディタでJavaコメントおよびカッコの一致オプションを設定するには、次のようにします。
メイン・メニューから、「ツール」→「プリファレンス」を選択します。
「プリファレンス」ダイアログで、「コード・エディタ」ノードを開きます。
「表示」ノードを選択します。
表示ページで、自動カッコの一致を有効または無効にして、遅延時間を設定できます。
「OK」をクリックします。
「プリファレンス」ダイアログを再び開き、「コード・エディタ」ノードを開いて「Java」ノードを選択します。
Javaページで、コメントおよびカッコの一致の属性を使用して、必要な処理を設定します。
「OK」をクリックします。
ブロック・コメントは、アクセラレータの機能です。デフォルト・キーマップで、[Ctrl]+[Shift]+[/]または[Ctrl]+[/]を使用して、Javaコードをブロック・コメント処理します。
Javaソース・エディタでimport文を編成できるアシスタンスを表示できます。
import文を自動的に追加できるようにするには、次のようにします。
メイン・メニューから、「ツール」→「プリファレンス」を選択します。
「プリファレンス」ダイアログで、「コード・エディタ」ノードを開きます。
「Java」ノードを開いて、「インポート」を選択します。
「インポート」ページで、「Import Assistanceで自動ポップアップを有効にする」を選択します。
「OK」をクリックします。
Javaソース・エディタではJavaソース・ファイルが表示され、Javaコードを編集できます。表17-1に示すように、様々な機能を実行するアイコンは、Javaソース・エディタの上部にあります。
表17-1 ツールバー・オプション
アイコン | 名前 | 説明 |
---|---|---|
|
クイック・アウトライン |
現在のクラスおよびそのスーパー・クラスの使用可能なメソッドおよびフィールドのツリーを表示する場合にクリックします。 このアイコンをクリックすると、「クイック・アウトライン」ウィンドウが表示されます(詳細は、第17.6項「「クイック・アウトライン」ウィンドウの使用」を参照)。このウィンドウはコードのすぐ上に浮かび、現在のクラスおよびそのスーパー・クラスの使用可能なメソッドおよびフィールドのツリーが表示されます。表示されるアイテムを減らすために、フィルタ・フィールドへの入力をすぐに開始できます。これによって、目的の場所に移動するための選択を迅速かつ簡単に行うことができます。 |
|
コード強調表示 |
カーソルが現在置かれているコード・コンポーネントのインスタンスをすべて強調表示する場合にクリックします。 |
|
すべての強調表示をクリア |
すべての強調表示を取り消す場合にクリックします。 |
|
アクセッサの生成 |
「アクセッサの生成」ダイアログを使用してgetメソッドとsetメソッドをクラスに挿入する場合にクリックします。 |
メソッドのオーバーライド |
フォーカスされているクラスの継承メソッドをオーバーライドする場合にクリックします。 |
|
|
インタフェースの実装 |
「インタフェースの実装」ダイアログを使用して、1つ以上のインタフェースを実装するようにターゲット・クラスを変更する場合に、またはターゲット・インタフェースを1つ以上の他のインタフェースに拡張する場合にクリックします。 |
|
再フォーマット |
コードにソース・フォーマットを適用する場合にクリックします。 |
|
囲む |
「コードを囲む」ダイアログを使用して、Javaソース・エディタに記述されている文字列の現在選択されているブロックをコーディング構成メンバーで囲む場合にクリックします。 |
|
ブックマークの設定 |
現在フォーカスされているコードの行でブックマークを挿入または削除する場合にクリックします。 |
|
次のブックマークに移動 |
次のブックマークにカーソルを置く場合にクリックします。 |
|
前のブックマークに移動 |
前のブックマークにカーソルを置く場合にクリックします。 |
選択した要素のみを表示 |
エディタで特定の1つの要素のみを表示する場合にクリックします。この機能を使用すると、メソッド、クラス、内部クラスまたはフィールド宣言に厳密なフォーカスを置くことができます。ファイル最下部のメッセージは、選択した要素の表示モードが現在アクティブであることを示します。 |
|
|
ブロック着色 |
ブロック着色を有効にする場合にクリックします。この機能を使用して、コードのブロックを強調表示して読みやすくすることができます。着色プリファレンスは、「プリファレンス」ダイアログを使用して設定できます。 |
「検索」フィールドのすぐ右側にある「クイック・アウトライン」ツールバー・アイコンをクリックすると、図17-1に示すように、「クイック・アウトライン」ウィンドウが表示されます。このウィンドウはコードのすぐ上に浮かび、現在のクラスおよびそのスーパー・クラスの使用可能なメソッドおよびフィールドのツリーが表示されます。表示されるアイテムを減らすために、フィルタ・フィールドへの入力をすぐに開始できます。これによって、目的の場所に移動するための選択を迅速かつ簡単に行うことができます。
表17-2は、使用可能なアイコンとオプションを示しています。
表17-2 クイック・ツールバーのアイコン
アイコン | 名前 | 説明 |
---|---|---|
|
メソッドを表示 |
メソッドおよびコンストラクタを表示する場合にクリックします。デフォルトでは、メソッド、フィールドおよびstaticメンバーがすべて表示されます。 |
|
フィールドを表示 |
フィールドを表示する場合にクリックします。デフォルトでは、メソッド、フィールドおよびstaticメンバーがすべて表示されます。 |
|
staticメンバーを表示 |
staticメンバーを表示する場合にクリックします。デフォルトでは、メソッド、フィールドおよびstaticメンバーがすべて表示されます。 |
|
publicメンバーのみを表示 |
publicメンバーのみを表示する場合にクリックします。デフォルトでは未選択です。 |
継承メンバーの表示 |
継承メンバーのみを表示する場合にクリックします。 |
|
アルファベット順でソート |
アルファベット順でクラス・メンバーをソートする場合にクリックします。デフォルトでは未選択です。 |
|
|
タイプでソート |
まずクラス・メンバーをタイプでソート(コンストラクタ、メソッド、フィールド、内部クラスの順)し、次にカテゴリ内でアルファベット順にソートする場合にクリックします。デフォルトで選択されています。 「アルファベット順でソート」の横にある下矢印をクリックし、オプションを表示します。 |
|
アクセスでソート |
まずアクセス修飾子でクラス・メンバーをソートし、次にカテゴリ内でアルファベット順にソートする場合にクリックします。デフォルトでは未選択です。 「アルファベット順でソート」の横にある下矢印をクリックし、オプションを表示します。 |
Java UIビジュアル・エディタには、ユーザー・インタフェースのビジュアル・コンポーネントが編集モードで表示されます。注意: Javaビジュアル・エディタはSwing/AWTアプリケーションに対してのみ使用できます。
Javaビジュアル・エディタが開いている場合、対応する要素が「構造」ウィンドウに階層表示されます。プロパティ・インスペクタが開いている場合、「構造」ウィンドウまたはJavaビジュアル・エディタで要素を選択すると、インスペクタの選択内容も変更されます。
Javaビジュアル・エディタにはGUI階層が表示されます。メニュー項目がある場合と、メニュー以外の項目がある場合では、階層の表示方法が異なります。使用している編集モードが異なるように、表示のモードも異なります。詳細は、第18.2.9項「クラスまたはインタフェースの階層の表示方法」を参照してください。
ナビゲータでノードを選択すると、そのGUI構造も「構造」ウィンドウに表示されます。このオブジェクトのメニュー以外のGUI項目はすべて、UIというラベルが付いたノードの下に表示されます。メニュー項目は、Menuというラベルが付いたノードの下に表示されます。GUI以外の項目は、Otherというラベルが付いたノードの下に表示されます。オブジェクトのJavaビジュアル・エディタをナビゲータで開いた後、メニュー以外のGUI要素とメニュー要素の表示を切り替えるには、「構造」ウィンドウで、これらのUIノードまたはMenuノードの下のノードをクリックします。
Javaビジュアル・エディタでの表示はGUI階層に基づいているため、「構造」ウィンドウで(すべてのGUIオブジェクトの)ノードをクリックすると、ルート・ノードおよびその子の視覚的な表現がエディタにロードされます。階層で選択したノードに関係なく、階層全体が開きます。エディタに表示される内容は、完全なGUI階層を反映します。選択した特定の要素は、ウィンドウで選択した特定のノードを反映します。「構造」ウィンドウとJavaビジュアル・エディタの選択内容は同期化されます。
「構造」ウィンドウに孤立したノードがある場合、そのノードおよび子が階層全体を構成し、孤立したノードが階層のルートになります。Java UIの表示はこれを反映します。たとえば、親のないコントロールがあり、そのコントロールのノードを選択した場合、そのコントロールおよび子はコンテナなしでエディタに表示されます。ただし、そのコントロールに変更を加えると、コードが生成されます。
Javaビジュアル・エディタ内の任意の場所を右クリックすると、コマンドのポップアップ・メニューが表示されます。ポップアップ・メニューは、メニュー以外の項目またはメニュー項目のどちらを編集しているかによって異なります。また、ポップアップ・メニュー内で使用できるコマンドは、選択したオブジェクトによって異なります。
SwingおよびAWT JavaBeansコンポーネントを使用して、Javaアプリケーションまたはアプレットのユーザー・インタフェース(UI)をアセンブルします。Javaビジュアル・エディタで、ボタン、テキスト領域、リスト、ダイアログ、メニューなどのJavaBeansをコンポーネント・パレットから選択してUIを構成します。次に、コンポーネント・プロパティの値を設定し、コンポーネント・イベントにイベント・ハンドラ・コードをアタッチします。Javaクラスを視覚的に設計およびプログラミングして、新規の複合コンポーネントまたは複雑なコンポーネントを生成できます。
詳細は、第20.1項「Java Swingユーザー・インタフェースの実装について」を参照してください。