学生向けにプログラミングを解説。次>>通常、システムからの知らせに応じてユーザーが反応する場合(例えば、システムからの「本当にファイルを消してもよいですか?」に対する反応で「はい」「いいえ」を選択)は、「ダイアログ(対話)・ウィンドウ」と呼ばれるものを表示します。Swingではダイアログウィンドウを生成する際は、JDialogクラスを使用します。JDialogクラスは、Swingでは数少ない「重量コンポーネント(コンテナ)」です。他には、JWindowとJFrameがあります。以下のサンプルプログラムを作成してみましょう。SwingJDialogTest();}}JDialogで初期設定されているレイアウトはボーダーレイアウトですから、フレームと同様にコンポーネントを配置することができます。//ダイアログを表示ただし、通常JDialogを生成する場合には、オーナーにあたるフレームかダイアログを指定することが多いでしょう。基になるアプリケーションからの知らせに応じて、ダイアログウィンドウがユーザーに確認を求めるので当然といえば当然でしょう。JDialogの主な違いをまとめておきます。○では、サンプルプログラムを実行してみましょう。フレームの他にもう一つダイアログが表示されます。以下のサンプルプログラムを作成してみましょう。frame.setVisible(true);//文字列の表示。JOptionPane.ERROR_MESSAGE);//文字列の入力。name);//「Yes」「No」「Cancel」を選択。SwingJOptionPaneTest1();}}オプションペインはJOptionPaneクラスによって生成される、ダイアログボックス表示するコンポーネントです。オプションペインを使用することで、ユーザーの応答を求める単純なダイアログウィンドウなら、手間無く生成することができます。JOptipnPaneは多様なメッセージ表示ができます。通常は、以下のように「show○○Dialog()」というstaticなメソッドを直接呼び出せばよいです。上の3つを合わせたものこれらメソッドはユーザーからの応答があるまで、他の処理を行わせません。以下の例は、オーナーを指定せずにダイアログボックスを表示します。ダイアログボックスには「エラー」という文字列が表示されています。オーナーが無い場合、通常ダイアログボックスの表示は、ディスプレイの中央になります。オーナーが指定されていれば、オーナーの中央に表示されます。"エラー");メソッドには、以下のようなパラメータを記述します。オーナーとなるComponentの指定。ダイアログボックスに表示するメッセージ。ダイアログボックスに配置するアイコン。選択値(入力値)を初期設定するユーザーからの答えが、選択(「YES」や「NO」など)に対するものだったときは、メソッドが返す値(整数)は、「YES_OPTION」「NO_OPTION」「CANCEL_OPTION」「OK_OPTION」「CLOSE_OPTION」のいずれかになります。JOptionPane.ERROR_MESSAGE);//値入力を求める。"いずれかを選択してください");では、サンプルプログラムを実行してみましょう。エラーメッセージが表示されます。「JOptionPane1」と表示され、了解を押すと名前を聞かれます。名前を入力し、了解を押すと、今度は、性別を聞かれます。男だったら「はい」を押してください。コマンドプロンプト上に、名前と性別が表示されます。以下のサンプルプログラムを作成してみましょう。fileChooser.getSelectedFile();//ファイルが選択(「開く」)された。SwingJFileChooserTest1();}}エディタなどファイルを選択する必要があるアプリケーションを作成する場合、ユーザーがファイルを選択するための簡単な機構を提供する、JFileChooserクラスを利用すると便利です。ファイルチューザーは、ディレクトリ内のファイル表示、表示ディレクトリの移動、ファイル選択、ファイル選択のキャンセルなどが実現できます。以下に主な機能をまとめておきます。特定のファイル種類などを表示することが可能。JFileChooserを単に生成した場合には、システムに依存したフォルダを開くことになります。JFileChooser();また、生成する際にディレクトリを指定することも出来ます。サンプルプログラムを実行してみましょう。ファイルのオープンを選択することが出来ます。「file」メニューから「open」を選択すると、ファイルの一覧が表示されます。画像ファイルのあるフォルダへ移動し、ファイルを選択すると、選択した画像が表示されます。取り消しを押すと、「cancel」というメッセージが表示されます。まとめはてなブログをはじめよう!MrRadiologyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。