ラジオボタンの配置とレイアウトマネージャ ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin
Expander等)を使って解凍して下さい。ラジオボタンの作成 ラジオボタンは、JRadioButtonクラスをインスタンス化して作成します。
コンストラクタの引数に文字列を与えると、ボタンの脇に表示するキャプションになります。 JRadioButton blackButton; //オブジェクトの宣言
blackButton = new JRadioButton("黒"); //インスタンス化 |
作成したボタンをパネルに載せ、リスナをimplementsしてactionPerformedメソッドにボタンが押された時の処理を書きます。
ボタンの時と同様です。
ラジオボタンは、グループの中で1つしか選択出来ません。
グループが複数有れば、それぞれのグループで1つずつ選択出来ます。
此のグループを決める為のクラスがButtonGroupクラスです。
此をインスタンス化して、ラジオボタンをグループに追加します。 ButtonGroup group; //オブジェクトの宣言
group.add(blackButton); |
レイアウトマネージャ 部品が段々増えて来ました。
此等の部品をレイアウトしましょう。
Javaでは、画面のサイズに応じて、自動的にレイアウトする方法が5つ用意されています。
此等のマネージャを使わない方法が有ります。
@レイアウトマネージャを使わない |
部品の1つ1つについて、位置の座標とサイズを指定します。 |
AFlowLayout |
部品を画面の左から順番に中央揃えで配置します。
1行に入り切らない時は、2行目に配置されます。 |
BBorderLayout |
画面を「上(NOUTH)」「下(SOUTH)」「左(WEST)」「右(EAST)」「中央(CENTER)」の5つの部分に分けて、どの部分に配置したいのかを指定します。 |
CGridLayout |
画面を表の様に「縦」「横」に区切って、何処に配置したいのかを指定します。 |
DBoxLayout |
縦1列に、又は横1列に配置します。 |
EGridBagLayout |
「GridLayout」と同様、表の様に「縦」「横」に分けますが、部品が各セルを跨いでも良く、又、「列幅」「行幅」は、列や行毎に異なる指定が出来ます。 | BorderLayout 各領域の大きさは、「NOUTH」「SOUTH」「WEST」「EAST」に配置される部品に必要なサイズの領域が確保され、残りが全て「CENTER」になります。
各領域の中を、更に色々なマネージャを利用して分けても使えます。
此処では、「NOUTH」に左右ボタンを割り当て、「SOUTH」に色選択のラジオボタンを割り当て、「CENTER」に目玉を書く事にします。
それぞれの領域に異なるパネルを貼り付け、パネル上に部品を載せたり、目玉を描いたりします。 ラジオボタンの動作 ラジオボタンが押されたら目玉データの色情報を、ボタンが押された色で書き換え、目玉を描くパネル「myJPanel」に対して再描画を要求します。 独自クラスの意義 ボタンやラジオボタン、パネル等の部品は、継承して独自にクラスを作る事で、それぞれの処理を部品化出来ます。
ボタンの種類を変えたい時やボタンの動作を変えたい時等、クラス毎差し替える事で、周りへの影響を最小限に留められます。 戻る |