チェックボックスの作成と表示文字列の設定

広告

チェックボックスを作成するにはJCheckBoxクラスを使用します。JCheckBoxクラスは次のように定義されています。

public class JCheckBox
extends JToggleButton implements Accessible
java.lang.Object
 L java.awt.Component
     L java.awt.Container
         L javax.swing.JComponent
             L javax.swing.AbstractButton
                 L javax.swing.JToggleButton
                     L javax.swing.JCheckBox

チェックボックスはコンポーネントの親クラスであるJComponentクラスのサブクラスとなっています。またボタン系を扱うクラス全般の親クラスであるAbstractButtonクラスのサブクラスでもあります。さらに選択/非選択のどちらかの状態を持つJToggleButtonクラスのサブクラスでもあります。

JCheckBoxクラスのオブジェクトを作成

JCheckBoxクラスを利用するにはコンストラクタを使ってJCheckBoxクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。

コンストラクタの概要
JCheckBox()
初期状態で選択されていない、テキストおよびアイコンなしのチェックボックスボタンを生成します。
JCheckBox(Action a)
指定された Action からプロパティーを取得するチェックボックスを生成します。
JCheckBox(Icon icon)
初期状態で選択されていない、アイコン付きのチェックボックスを生成します。
JCheckBox(Icon icon, boolean selected)
アイコン付きのチェックボックスを生成し、それが初期状態で選択されるかどうかを指定します。
JCheckBox(String text)
初期状態で選択されていない、テキスト付きのチェックボックスを生成します。
JCheckBox(String text, boolean selected)
テキスト付きのチェックボックスを生成し、それが初期状態で選択されるかどうかを指定します。
JCheckBox(String text, Icon icon)
初期状態で選択されていない、指定されたテキストおよびアイコン付きのチェックボックスを生成します。
JCheckBox(String text, Icon icon, boolean selected)
テキストおよびアイコン付きのチェックボックスを生成し、それが初期状態で選択されるかどうかを指定します。

コンストラクタは表示される文字列とアイコンの指定によって異なっています。また初期状態で選択されているかどうかも設定することができます。まずは最も基本となる1番目のコンストラクタを確認します。次のように定義されています。

初期状態で選択されていない、テキストおよびアイコンなしのチェックボックスボタンを生成しま
す。

文字列もアイコンも表示されず、また非選択となっているチェックボックスを作成します。

今度はチェックボックスに表示される文字列を指定する5番目のコンストラクタを確認します。

初期状態で選択されていない、テキスト付きのチェックボックスを生成します。

パラメータ:
  text - チェックボックスのテキスト

引数にチェックボックスに表示される文字列をStringクラスのオブジェクトとして指定して下さい。

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

JCheckBox checkbox1 = new JCheckBox();
JCheckBox checkbox2 = new JCheckBox("チェックボックス");

表示文字列の設定

チェックボックスを作成した後で表示される文字列を設定したり再設定したりすることができます。文字列を設定するにはJCheckBoxクラスの親クラスであるAbstractButtonクラスで用意されているsetTextメソッドを使います。

ボタンのテキストを設定します。

パラメータ:
  text - テキストの設定に使用する文字列

引数にチェックボックスに表示される文字列を表すStringクラスのオブジェクトを指定して下さい。

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

JCheckBox checkbox = new JCheckBox();
checkbox.setText("O.K.");

チェックボックスに表示される文字列が"O.K."に設定されます。

サンプルプログラム

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

SSample1_1.java

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JCheckBox;
import java.awt.Container;
import java.awt.BorderLayout;

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

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

    JPanel p = new JPanel();

    JCheckBox ckbox1 = new JCheckBox();
    JCheckBox ckbox2 = new JCheckBox("Apple");
    JCheckBox ckbox3 = new JCheckBox();
    ckbox3.setText("Orange");

    p.add(ckbox1);
    p.add(ckbox2);
    p.add(ckbox3);

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

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

チェックボックスの作成と表示文字列の設定

今回は3つのチェックボックスを作成しました。デフォルトではチェックボックスは選択されていませんが、クリックすることで選択したり選択を外したりすることができます。

チェックボックスの作成と表示文字列の設定

チェックボックスの作成と表示文字列の設定

( Written by Tatsuo Ikura )