選択/非選択の状態を取得

広告

ラジオボタンが選択されているのかどうかを取得する方法を確認します。JRadioButtonクラスの親クラスであるAbstractButtonクラスで用意されているisSelectedメソッドを使います。

ボタンの状態を返します。トグルボタンが選択されている場合は true、そうでない場合は false を
返します。

戻り値:
  トグルボタンが選択されている場合は true、そうでない場合は false

メソッドを実行すると、対象のチェックボックスが選択の場合にはtrue、非選択の場合にはfalseが返されます。

実際の使い方は次のようになります。

JRadioButton radio = new JRadioButton("ラジオボタン");
boolean status = radio.isSelected();

サンプルプログラム

では実際に試してみます。

SSample15_1.java

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

class SSample15_1 extends JFrame implements ActionListener{
  JRadioButton[] radio;

  public static void main(String args[]){
    SSample15_1 frame = new SSample15_1("タイトル");
    frame.setVisible(true);
  }

  SSample15_1(String title){
    setTitle(title);
    setBounds(100, 100, 300, 250);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel p = new JPanel();

    radio = new JRadioButton[3];
    radio[0] = new JRadioButton("Orange");
    radio[1] = new JRadioButton("Melon", true);
    radio[2] = new JRadioButton("Grape");

    ButtonGroup group = new ButtonGroup();
    group.add(radio[0]);
    group.add(radio[1]);
    group.add(radio[2]);

    p.add(radio[0]);
    p.add(radio[1]);
    p.add(radio[2]);

    JPanel buttonpanel = new JPanel();

    JButton button = new JButton("button");
    button.addActionListener(this);

    buttonpanel.add(button);

    Container contentPane = getContentPane();
    contentPane.add(p, BorderLayout.CENTER);
    contentPane.add(buttonpanel, BorderLayout.SOUTH);
  }

  public void actionPerformed(ActionEvent e){
    String name = "";

    for (int i = 0 ; i < radio.length; i++){
      if (radio[i].isSelected()){
        name = radio[i].getText();
      }
    }

    JLabel msg = new JLabel(name);
    JOptionPane.showMessageDialog(this, msg);
  }
}

ではコンパイルを行った上で実行してみます。

選択/非選択の状態を取得

ボタンを押すと、現在選択されているラジオボタンの名前をダイアログに表示します。

選択/非選択の状態を取得

選択/非選択の状態を取得

他のラジオボタンを選択してからもう一度試してみます。

選択/非選択の状態を取得

選択/非選択の状態を取得

( Written by Tatsuo Ikura )