第9週の学習ビデオ(1)

まず、テキストフィールドJTextArea

複数行のテキストを操作するための領域が用意されています。
JTextFieldとは異なり、JTextAreaにはアクションイベントがありません。
JTextAreaのテキストへの変更は、別のGUIコンポーネントによってトリガーされたイベントを通じて処理できます。
JTextAreaはスクロールバーを提供しないため、完全なコンテンツを表示するには、テキストフィールドのスクロールバーをロードする必要があります。

次に、BoxLayoutレイアウトマネージャー

GUIコンポーネントをコンテナーのx軸に沿って水平に配置するか、コンテナーのY軸に沿って垂直に配置します。BoxコンテナはデフォルトでBoxLayoutを使用します。
createHorizo​​ntalBox()は、Boxクラスの静的メソッドを介して、Boxコンテナへの参照を返します。作成されたBoxには、コンポーネントが追加された順序でコンポーネントを左から右に配置する水平のBoxLayoutが含まれています。
Boxクラスの静的メソッドcreateVerticalBox()は、Boxコンテナへの参照を返します。作成されたBoxには垂直のBoxLayoutが含まれ、コンポーネントは追加された順に上から下に配置されます。

Boxの3つの透明なコンポーネント

Boxのコンポーネント間のスペースを調整する場合は、Boxによって提供される透明なコンポーネントを塗りつぶしとして使用して、コンポーネント間のスペースを埋めます。
Boxコンテナは、4つの透明なコンポーネント、つまり、剛体領域、支柱、接着剤、フィラーを提供します。


Strut:ユーザーは、1方向、つまり水平方向または垂直方向のサイズのみを定義できます。これを使用して、コンポーネント間の距離を正確に設定できます。
フィラー:ボックスの内部クラスです。固定領域に似ています。どちらも水平または垂直のサイズを指定できますが、最小、最大、優先のサイズを設定できます。
接着剤:ユーザーが2つのコントロールの間に接着剤を配置すると、2つのコントロール間の余計なスペースができる限り占有され、2つのコントロールが側面に押し込まれます。
固定領域:ユーザーが水平方向と垂直方向の寸法を定義できる透明なコンポーネントです。このメソッドは、コンテナに固定領域を追加します。固定領域は、ピクセルの高さと幅が固定された非表示のGUIコンポーネントです。

4、GridBagLayoutレイアウトマネージャー

GridLayoutと同様に、コンポーネントはコンテナー内のグリッド形式で管理されますが、関数はGridLayoutよりも強力です:
(1)GridBagLayoutによって管理されるすべての行と列は、異なるサイズにすることができます。
(2)GridLayoutは各コンポーネントをセルに制限し、GridBagLayoutのコンポーネントはコンテナー内の任意のサイズの長方形の領域を占めることができます。


GridBagLayoutには、制約の追加の概念があります。このように、GridBagLayoutは内部セルに対して非常にカスタマイズ可能であるため、このレイアウトは多くのプロパティを設定する必要があり、これらのプロパティはすべてがパブリックであるGridBagConstraintsオブジェクトに抽象化されていることがわかります。


GridBagConstraints.anchor:コンポーネントが表示領域よりも小さい場合、コンポーネントを使用して、表示領域のどこにコンポーネントを配置するかを決定します。北、南、西、東、北西、北東、北西、北東、南西、南東、中央。


GridBagConstraints.fill:コンポーネントの表示領域がコンポーネントの必要なサイズより大きい場合、それを使用してコンポーネントを調整するかどうか(および方法)を決定します。
GridBagConstraints.NONE:デフォルト値。
GridBagConstraints.HORIZONTAL:表示領域を水平方向に埋めるのに十分になるまでコンポーネントを広げますが、高さは変更しません。
GridBagConstraints.VERTICAL:表示領域を垂直方向に埋めるのに十分になるまでコンポーネントの高さを調整しますが、幅は変更しません。
GridBagConstraints.BOTH:コンポーネントを表示領域いっぱいに配置します。


GridBagConstraints.gridx;
GridBagConstraints.gridyは、コンポーネントの左上隅の行と列を指定します。一番左の列はgridx = 0、一番上の行はgridy = 0で、これは実際には(0、0)から始まる座標です。


GridBagConstraints.gridwidth;
GridBagConstraints.gridheightは、コンポーネントの表示領域の行(gridwidthの場合)または列(gridheightの場合)のセル数を指定します。デフォルト値は1です。


GridBagConstraints.weightx; GridBagConstraints.weighty
ウェイトは、行(weightx)と列(weighty)の間にスペースを割り当てる方法を決定するために使用されます。追加のスペースが使用されると、グリッドはより広くなります/高さ。


たとえば、weightxの値はそれぞれ10、20、30です。コンテナーのx方向、つまり列の方向では、3つのグリッドセルが特定の比率に従って割り当てられます。重みの値が大きいほど、グリッドセルは大きくなります。値のサイズは関係ありません。加重値の役割は、コンテナがグリッドを水平方向と垂直方向に設定された値の比率で分配できるようにすることであり、この比率はコンテナのサイズが変化しても変化しません。
1つのコンポーネントのみが重み値(weightx / weighty)を設定すると、他のコンポーネントはスペース割り当てに参加せず、余分なスペースはすべてコンポーネント用に予約されます。

5、スライダーJSlider

ユーザーが整数値の範囲から選択できるようにします。目盛りとスライダーを備えたJSliderです。
JSliderは水平または垂直にできます。スライダーの相対位置は、JSliderの現在の値を表します。
水平方向の最小値は左端、最大値は右端です。垂直方向の場合、最小値は下端で、最大値は上端です。JSliderのsetInveted(true)メソッドは、JSliderの最小値と最大値の位置を逆にすることができます。


JSliderはユーザーの操作に応じてChangeEventを生成します。このイベントを処理するリスナーは、ChangeListenerインターフェースを実装し、stateChangedメソッドを実装するオブジェクトです。

6、メニュー

Swingのメニューは、setJMenuBarメソッドを提供するクラスのオブジェクトにのみバインドできます。このような2つのクラスは、JFrame、JAppletです。

7、Swingメニュー構成

メニューバー:JMenuBar
には、メニューバーを管理するために必要なメソッドが含まれており、メニューのコンテナです。


メニュー:JMenu
には、メニューの管理に必要なメソッドが含まれており、メニュー項目やその他のメニューを含めることができ、その他のメニューはそのサブメニューになります。


メニュー項目:
JMenuItem:メニュー項目の管理に必要なメソッドが含まれています。これはメニューのインタラクティブコンポーネントで、選択するとActionEventが発生します。
JCheckBoxMenuItem:オンまたはオフに切り替えることができるメニュー項目を管理するために必要なメソッドが含まれています。JCheckBoxMenuItemを選択すると、メニュー項目の左側にチェックマークが表示されます。もう一度選択すると、チェックマークが削除されます。
JRadioButtonMenuItem:オンまたはオフに切り替えることができるメニュー項目を管理するために必要なメソッドが含まれています。複数のJRadioButtonMenuItemがButtonGroupの一部として維持される場合、一度に選択されるのはグループ内の1つの項目のみです。


メニューバーは、すべてのメニューとメニュー項目のルートです。

Op、JPopupMenu

ポップアップメニュー。ユーザーがマウスの右ボタンを押すか離すと、ポップアップトリガーイベントが発生します。

9つのマウスイベント

java.awt.Componentから派生したGUIコンポーネントはすべて、マウスイベントをキャプチャできます。
マウスイベントを処理するためのインターフェイス(MouseEvent):(1)MouseListener(2)MouseMotionListener。
マウスがコンポーネントと対話するとき、このコンポーネントが適切なイベントリスナーを登録すると、上記の2つのインターフェイスで定義されたメソッドを呼び出して、さまざまなマウスイベントを処理します。

おすすめ

転載: www.cnblogs.com/caihan/p/12689587.html