2.5 ラジオボタン(JRadioButton)とボタングループ(ButtonGroup)の使い方

本節では、ラジオボタン(JRadioButton)の使い方と、ボタングループ(ButtonGroup)の使い方を見ていきます。

ラジオボタンはチェックボックスによく似ていますが、大抵は複数のラジオボタンが1セットになっており、複数の内1つしか選択状態にならない(排他的)、という性質を持っています。チェックボックスと使い分けることで、素敵なソフトウェアになっていきます。きっと。

 

1.ラジオボタンの設置

まずはラジオボタンを設置しましょう。前回作成したプロジェクト及びJFrameフォームを想定して説明していきます。

2-5-1

「パレット」ウィンドウの「Swingコントロール」タブから「ラジオボタン」をクリックし、「JFrame」フォームの上でもう一度クリックして配置します。ここでは前回配置したチェックボックスの下に配置しています。

2-5-2

ラジオボタンを右クリックして、[テキストを編集]を選択します。

2-5-3

「更に1クリック追加」というテキストにしました。これからどんな機能を持たせるか、バレたかもしれません。

2-5-4

ラジオボタンを右クリックして、[変数名を変更]を選択します。

2-5-5

「radioMore1Click」という名前にしました。更に1クリック(More1Click)する機能を持ったラジオボタン(radio)という意味になります。

2-5-6

今回は、このラジオボタンを予め選択された状態にしてみましょう。ラジオボタンを右クリックして、[プロパティ]を選択し、[selected]と書かれた項目にチェックを入れます。これだけです。

2-5-7

ラジオボタン1つだけではあまり意味が無いので、「更に2クリック追加」というテキストのラジオボタンを追加しましょう。こちらは、プロパティの[selected]にはチェックを入れないようにします。また、今後以前に追加したこのとあるGUI部品を追加する際は、上図のようにGUI部品の名前と変数名だけ記載していくことにします。

 

2.ボタングループの利用

2つのラジオボタンが追加されましたが、これだけではチェックボックスが2個あるのと何も変わりません。そこで利用するのがボタングループ(ButtonGroup)です。ボタングループを利用することで、複数のラジオボタン(チェックボックスも可)を紐付けることができ、紐付けられたラジオボタンはボタングループ内で1つしか選択状態になりません。それではボタングループを使ってみましょう。

2-5-8

「パレット」ウィンドウの「Swingコントロール」タブから「ボタングループ」をクリックし、GUIデザイナ上の好きな場所でクリックして追加します。ボタングループは目に見えるGUI部品ではないため、GUIデザイナ上で確認することはできません。

2-5-9

画面左下のナビゲータウィンドウを見てみましょう。「buttonGroup1」という名前のコンポーネントが追加されているはずです。「buttonGroup1」を右クリックし、[変数名を変更]を選択します。

2-5-10

「buttonGroupClick」という名前にしました。クリック(Click)の機能に関するボタングループ(buttonGroup)という意味です。

2-5-11

次に、2つのラジオボタンをボタングループに紐付けます。[Shift]キーを押しながら、2つのラジオボタンを同時に選択します(1つずつ行っても構いません)。右クリックしてプロパティを表示するか、画面右下のプロパティウィンドウにて、[buttonGroup]の項目を先ほど作成した[buttonGroupClick]に変更します。これで、2つのラジオボタンが[buttonGroupClick]に紐付けられました。

2-5-12

実行してみましょう。はじめは、「更に1クリック追加」と書かれたラジオボタンが選択されているはずです。

2-5-13

「更に2クリック追加」と書かれたラジオボタンを選択した際、「更に1クリック追加」と書かれたラジオボタンの選択が解除されていれば成功です。

 

3.機能の実装

それでは、機能を実装していきましょう。「押してみて!」と書かれたボタンをダブルクリックするか、[ソース]タブを押して、ソース編集画面に移動します。

2-5-14

ラジオボタンは基本的にチェックボックスと同じで、次のように「isSelected()」メソッドを使ってボタンの選択状態を判定することができます。

実際には、前節で作成したチェックボックスの判定を行った部分の下に、次のようなソースを挿入します。

「radioMore1Click」が選択されていたらcountに1を加算し、「radioMore2Click」が選択されていたらcountに2を追加する命令です。

2-5-15

実行してみましょう。チェックボックスとラジオボタンが選択されているとき、最大3ずつカウントが増えていくはずです。

(2013年11月13日 加納徹)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)