ダイアログボックスは、ヒューマンコンピューターのダイアログプロセスにインタラクティブモードを提供するツールです。アプリケーションは、ダイアログボックスを介してユーザーに情報を提供するか、ユーザーから情報を取得します。ダイアログボックスは、ユーザー入力を取得するためにコントロールを配置できる一時的なウィンドウです。スイングには、2つのダイアログクラスがあります。これらはJDialogクラスとJoptionPaneクラスです。 JDialogクラスは、一般的なダイアログボックスの構築と管理を提供します。
jdialogクラス
JDialogクラスは、ダイアログボックスのベースクラスとして機能します。ダイアログボックスは、他のウィンドウに依存する場合、または最小限に抑えられます。
ダイアログボックスは、必須で非志願に分かれています。必須ダイアログボックスは、ダイアログボックスが完了するまでダイアログプロセスを中断することはできず、プログラムはダイアログボックスの外側のイベントに応答しません。非義務ダイアログボックスは、ダイアログプロセスを中断し、ダイアログボックスの外側のイベントに応答することができます。強制タイプはモードダイアログボックスとも呼ばれ、非強制ダイアログボックスは非モードダイアログボックスとも呼ばれます。
JDialogオブジェクトもコンテナであるため、[JDialog]ダイアログボックスにレイアウトマネージャーを割り当てることもできます。ただし、ダイアログボックスにはコンテンツパネルも含まれているため、コンポーネントを直接追加することはできません。ダイアログはウィンドウに依存するため、ダイアログを作成するには、最初にウィンドウを作成する必要があります。
JDialogクラスには、一般的に使用される3つのコンストラクターがあります。
JDialogクラスには他にもいくつかの一般的な方法があります。
[例]アプレットは、ユーザーウィンドウクラスを宣言し、ユーザーウィンドウには2つのテキストボックスがあります。ダイアログボックスに対応する情報を入力し、ダイアログボックスの[OK]ボタンを押します。ボタンの監視方法を決定し、ダイアログボックスに入力した情報をユーザーウィンドウに転送し、ユーザーウィンドウの対応するテキストボックスに選択情報を表示します。
Java.applet。*Javax.swing。 Private jtextfield Text1、super(s)= this.getLayout(2,2); (100,100); = new Jtextfield(button1); static void retur nname(string s){if(flg == 1)text1.settext( "選択した果物は:"+s); S) 1; JLabel Title; name "); text = new jtextfield(10); text.setedable(true); con.setlayout(new flowlayout()); con.setsize(200,100); setmodal(false); done = new jbutton(" ok "); done.adcertylistener(true); ;公開クラスの例上記の例では、必須のダイアログボックスを作成します。このようにして、インターフェイス内のいくつかの対話の効果を見ることができます。
上記の例を、わずかな変更だけで非命令的なダイアログボックスに変更します。最初に、ダイアログボックスの構築方法で「スーパー(f、s、true)」を変更します。
2番目の変更:確認ボタンイベントに応答するときにメソッドreturnName()が呼び出され、ダイアログボックスで取得された文字列がプログラムに返されることがわかります。テキストボックス入力選択文字列が終了すると、メソッドはすぐに呼び出される必要があります。これを行うには、テキストボックスの入力イベントを監視し、テキストのモニターを登録する必要があります。
public void actionperformed(actionevent e){if(e.getsource()== text){mywindow.returnname(text.getText()); text .getText());JoptionPaneクラス
多くの場合、非常に単純な対話状況に遭遇します。一般的なダイアログボックスのプログラミングを簡素化するために、JoptionPaneクラスは4つの簡単なダイアログボックスを定義します。表11-4を参照してください。 JoptionPaneクラスは、ユーザーが特定のタイプのダイアログボックスを選択できるようにする一連の静的メソッドを提供します。次のコードは、チェックダイアログボックスです。
int result = joptionpane.showconfirmdialog(親、「あなたは本当に終了したいですか? "、" exit consile "、joptionpane.yes_no_cancel_option);
メソッド名の中央部分のテキスト「確認」は、ダイアログボックスを作成するタイプであり、テキストの確認は、[確認]ダイアログボックスが選択されていることを示します。テキストを変更して、他の3つのタイプのいずれかに確認し、対応するタイプダイアログボックスになります。上記のコードの4つのパラメーターは、このダイアログボックスの親パラメーターを指定しますダイアログボックスには3つのボタンがあることを指定します。ボタンは「はい(y)」、no(n)、および「undo」です。メソッドの返された結果は、ユーザーがこのダイアログボックスに応答した結果です。表11-5に示す可能性のある回答を参照してください。
入力ダイアログボックスは、ユーザーがリストまたはテキストボックスの形式で選択情報を入力するように要求します。リストから実行中のプロジェクトを選択する[入力]ダイアログボックスの回路図コードを次に示します。
string result =(string)joptionpane.showinputdialog(親、「スポーツを選択してください」、「これはスポーツセレクションダイアログ」、joptionpane.question_message、null、new object {"play suttleack"、 "play basketball"、 "ランニング」、「ジャンプロープ」}、「ランニング」); 4番目のパラメーターは情報タイプであり、5番目のパラメーターはここで特別な効果がなく、6番目のパラメーターは選択する文字列の配列を定義し、7番目のパラメーターが選択のデフォルト値です。ダイアログボックスには、OKボタンと元に戻すボタンも含まれています。
JoptionPaneダイアログボックスタイプ
JoptionPaneダイアログボックスによって返された結果
JoptionPaneダイアログボックスの情報タイプオプション
プログラムは単にいくつかの情報を出力し、ユーザーにフィードバックを必要としない場合があります。このようなダイアログボックスは、次の形式のコードで作成できます。
joptionpane.showmessageialog(親、「これはJavaプログラムです」、「私は[出力情報]ダイアログボックス」、joptionpane.plain_message);
上記のコードの最初の3つのパラメーターの意味は上記と同じであり、最終パラメーターは、情報タイプがアイコンを含めないように指定されていることです。