ラジオボタン


排他的選択ボタン

複数の選択ボタンのうち、常にひとつのボタンのみが選択状態になることができ
2つ以上のボタンが選択状態にならない構造を実装する場合
常識的に考えて、ラジオボタンを使うのが最も一般的でしょう

しかし、Swing において、ラジオボタンもチェックボックスとほとんど同じです
見た目は異なっていますが、機能に大きな違いはありません
デフォルトで Swing のラジオボタンは排他制御を行わないのです

ラジオボタンは javax.swing.JRadioButton クラスで実装されます
java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.AbstractButton
                          |
                          +--javax.swing.JToggleButton
                                |
                                +--javax.swing.JRadioButton

public class JRadioButton
	extends JToggleButton implements Accessible
このクラスのコンストラクタのシグネチャは
JToggleButton() コンストラクタと同じです

public JRadioButton()
public JRadioButton(Icon icon)
public JRadioButton(Icon icon , boolean selected)
public JRadioButton(String text)
public JRadioButton(String text , boolean selected)
public JRadioButton(Action a)
public JRadioButton(String text , Icon icon)
public JRadioButton(String text , Icon icon , boolean selected)

icon にはアイコンを、selected には選択状態を
text には表示されるテキストを、a にはプロパティ情報を格納したアクションを指定します
import java.awt.*;
import javax.swing.*;

public class Test extends JApplet {
	public void init() {
		JRadioButton button1 = new JRadioButton("Forget me Not");
		JRadioButton button2 = new JRadioButton("Kitty on your lap");

		getContentPane().setLayout(new FlowLayout());
		getContentPane().add(button1);
		getContentPane().add(button2);
	}
}


このプログラムは、二つのラジオボタンを生成しています
通常、ラジオボタンとは排他的に動作するものですが
このプログラムのボタンは、互いに選択を干渉しません

排他的選択処理を行いたい場合は、ボタングループを使う必要があります
これについては、次の章で詳しく解説します



前のページへ戻る次のページへ