Java開発ノート(一二〇から九)スイング入力ボックス

スイング入力ボックスは、依然として2つのカテゴリに分類される:単一行と複数行入力ボックス入力ボックスが、いくつかの詳細において変更されている同様のAWTコントロールと比較します。まず、私の単一ライン入力ボックス、テキストフィールドの名前AWT単一行の入力ボックスを聞かせて、それは通常、どのような文字表示を入力しますが、一度エコー文字を設定するには、setEchoCharメソッドと呼ばれるものの文字、テキストフィールドはすぐにのみ暗号文の文字表示になります。しかし、恥ずかしい部分のみが暗号文を表示する愚かからの入力ボックスオブジェクト、エコー文字を設定した後、元のエコー設定を解除する方法がない、ということです。したがって、プログラムコードは、入力ボックスがプレーンテキストまたは暗号テキストで表示されているか否かを判断することは困難であり、暗号化は、テキスト入力ボックスか否かを判定することはできません。これは必然的に混乱につながる、コントロールのいくつかの種類がすべてTextFieldのですがあると仮定すると、プログラマは、パスワードボックスで、テキストボックス、ある判明しますか?あなたはそれがコード内setEchoCharメソッド幅広い畜生見つけるつもりですか?
テキストボックスとパスワードボックスを考えると二つのカテゴリータリアに分割することは論理的なスイング、同じ型を発現するのに適した異なる外観、いないはコントロールしていますJTextFieldのテキストボックスとパスワードボックスのJPasswordFieldを。エコー文字セットメソッドsetEchoCharを打ち消すように、彼らは、ユーザーによって入力されたとして、前者は文字を示し、後者は、デフォルトの入力文字はもちろん、プログラマはまた、setEchoCharがエコー文字をリセットして呼び出すことができ、ドットとして表示されるでしょう。そのような分割処理の後、関係なく、スイングやパスワードを入力し、プレーンテキストの、あなたは間違いを心配する必要はありません。また、基本的にJPasswordFieldの残りのと同じ方法でのJTextField、ほとんどのAWTのTextFieldコントロールのようにそれらを使用します。例えば、次のコード例のJTextFieldを呼び出すプロセスを示します。

		JTextFieldのテキストフィールド=新しいJTextFieldの(); // 単一ライン入力ボックスを作成
		textField.setEditable(TRUE); //設定編集フィールドができ
		textField.setColumnsは(11); // 11文字の入力フレーム長を設定
		panel.add (テキストフィールド); //パネル上の単一のライン入力ボックスを追加

 

上記テキストボックスコード、図に示すポップアップウィンドウインタフェースの動作は純粋にテキスト入力ボックスを示し、以下。


別の例は、次のコードは、パスワードボックスのJPasswordFieldの呼び出しを示しています:

		JPasswordFieldのPASSWORDFIELD =新しいのJPasswordField(); // パスワードボックス作成
		passwordField.setEditable(真の); //設定したパスワード編集ボックスができます
		passwordField.setColumns(6); //パスワードボックス11文字の長さに設定
		// PASSWORDFIELDを。 setEchoChar( '*'); //は、エコー文字のパスワードボックスを設定します。デフォルトの文字はエコードットである
		panel.add(PASSWORDFIELD); //パネルのパスワードボックスを追加します

 

図に示すウィンドウインターフェイス以下、上記エコー文字のパスワードボックスコードのデフォルトの動作は、パスワードボックスは丸く大きな黒点で見られます。


そして、複数行の入力ボックス、複数行入力ボックスと呼ばれるのTextAreaのAWTは、制御は、障害があると述べた:ユーザー入力入力したテキストを、ラップを超えていない線幅は、ユーザーが手動でラップするには、Enterキーを押す必要があります。この設計では、それはの訴えなければならない、あなたはより多くのユーザーがEnterキーをノック、それをラップすることはできませんが、間違いなく非常に悪い経験です。幸いなことに、この問題を補うためにタイムリーにスイングJTextAreaの制御、既存の方法に加えては、TextAreaのを含め、JTextAreaにも、その値がtrueに設定されているメソッドを呼び出して、それぞれの行を許可するかどうかを次の入力を設定するために使用されるテキストsetLineWrapメソッドを追加します各ラインの幅を超えると自動的に次の行に折り返されます。次いで、マルチライン入力方法setLineWrapボックス呼び出しのコード例は以下の通りである加えます。

		JTextAreaの面積=新しいJTextAreaの(); //は、 複数行の入力ボックスを作成
		area.setEditable(真の); //設定の編集フィールドができ
		area.setColumns(14); //設定された入力フレームの長さは14個の文字である
		領域。 setRows(3); //入力ボックス文字列3の高さに設定
		area.setLineWrap(真の); //各列の折り畳みを許可するか否かを設定します。真である場合、入力された文字が自動的に折り返されます各ラインの幅超える
		(面積)panel.addを; //パネル入力ボックスに複数の行を追加します

 

マルチライン入力ボックスコードの以上の動作は、図に示すように、ポップアップウィンドウインターフェースは、テキスト入力ボックス内の目に見えるが、実際にサポートラップです。


しかし、JTextAreaには、テキストの高さの合計が、入力ボックス、理想のスクロールバーの高さは、まだ見ていない超えた場合でも、デフォルトのスクロールバーで表示されていないスイング、AWTのTextAreaと比較。スクロールバーのスイングでも一人で行って、それがコントロールをスクロールする上下または左右にスクロールする必要があり、人々は、JScrollPaneのジョブにマッチしなければならない、JScrollPaneの名が呼ばれましたので、これがあります。スクロールバーの使用は非常に簡単です、ただ、またはスクロールバーオブジェクトはsetViewportViewメソッドを呼び出すことにより、コンストラクタに関連するべき制御対象を記入し、一緒にバインドされ、指定さ制御とスクロールバーすることができます。次いで、スクロールバーオブジェクトパネルに追加するので、次のように結合操作入力部と、スクロールバー、特異的な結合コードを完了します。

		JTextAreaの面積=新しいJTextAreaの(); //は、 複数行の入力ボックスを作成
		area.setEditable(真の); //設定の編集フィールドができ
		area.setColumns(14); //設定された入力フレームの長さは14個の文字である
		領域。 setRows(3); //入力ボックス文字列3の高さに設定
		area.setLineWrap(true)を、倍の//もし各行。その後、入力された文字が折り返される各ラインの幅を超えて、真である
		独立した複数行入力ボックスを追加するので、ここで、スクロールバーがJTextAreaのスクロールバーの下に追加されたときにすでに関連付けられているため、//必要はありません
		//panel.add(areaを); / /マルチライン入力ボックス追加するパネルに
		JScrollPaneのスクロール=新しいJScrollPaneの(面積) ; //は、 スクロールバーを作成
		//scroll.setViewportView(areaを); //設定スクロールバー関連する制御
		panel.add(スクロール); //パネル上のスクロールバーを追加します

 

テキストの高さ制御の全体の高さを超えた後、スクロールバーの結合コードの上記動作は、ポップアップウィンドウのインターフェースに示されるように、次いで、ボックス内のテキストの複数行を埋める、入力ボックスの右側にスクロールバーとほぼ現れます。

 



より多くのJavaテクノロジの記事「を参照してください章のJavaの開発ノート(オーダー)リスト

おすすめ

転載: www.cnblogs.com/pinlantu/p/11257115.html