Java ソースコード (ファイル名はRadioBtn.java)
ラジオボタンを使用するサンプル。
//File名 RadioBtn.java
//このプログラムは、3つのラジオボタンのいずれかをクリックすると
//ウィンドウ内に選択したボタンの文字列が表示されます。
//下の3行はGUIコンポーネントSwingを使うための「お約束」
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
//ボタンクリックなどのEvent処理を行うGUIプログラムの場合は
//extends JFrame implements ActionListener が必要
public class RadioBtn extends JFrame implements ActionListener{
//このクラスのフィールドとして、JLabel型のmsgという名前で
//フィールドを宣言します。ここでは宣言のみしています。
//このmsgは、クラス内のどのメソッドの中でも使用することが
//できます。ただし、この時点では宣言のみで中身はありません。
//一方、メソッド内で作られた変数は、その
//メソッド内でしか使えません。
JLabel msg;
//mainメソッドは、最初に実行されるメソッドです。
public static void main(String[] args){
// 自分自身を作成
//自分自身をcheckedBtnという名前のRadioBtn型変数として
//生成します。自分自身が存在しなければ何もできません。
RadioBtn checkedBtn = new RadioBtn();
//終了処理を追加しておきます。
//これが無いと、クローズしたときにメモリ内にプロセスが
//残ってしまい、メモリやリソースが減少してしまいます。
//「お約束」と考えましょう。
checkedBtn.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}
});
//自分自身(checkedBtn)の表示される位置(座標300,300)と大きさ(200X200)
//をsetBoundsメソッドを使って指定します。
checkedBtn.setBounds( 300, 300, 200, 200);
// 実際に画面に表示する
//画面に表示を行うメソッドsetVisibleを呼び出します。
checkedBtn.setVisible(true);
//あとはラジオボタンがクリックされるまで、何も行われません。
//何らかのEvent(ボタンのクリックなど)が発生するまで
//待機している状態です。mainメソッドはここまで。
}
//クラス名(RadioBtn)と同じメソッドは、コンストラクタです。
//このクラスのオブジェクトが生成されるとき最初に
//必ず行う処理があれば、この中に書きます。
RadioBtn(){
//JLabel型フィールドをpromptという名前で生成します。
//その際、文字列として「ラジオボタンを選んでクリック」が登録されます。
JLabel prompt = new JLabel("ラジオボタンを選んでクリック");
//JLabel型インスタンス
//クラスのフィールドとして宣言されているmsgにオブジェクトを
//割り当てます。空の文字列が入っています。
msg = new JLabel("");
//JRadioButton型変数radio1を作ります。Carという文字が
//ラジオボタンの横に表示されます。
JRadioButton radio1 = new JRadioButton("Car");
//このラジオボタンがクリックされたときに処理が行われるよう
//登録します。具体的には自分自身(this)のactionPerformed()
//メソッドが実行されます。
//actionPerformed()メソッドの内容は、下のほうで定義されています。
radio1.addActionListener(this);
//このラジオボタンがクリックされたときには、ActionCommandとして
//文字列Carが設定されます。
radio1.setActionCommand("Car");
//2番目のラジオボタンを生成します。このボタンは最初に選択状態に
//なります。
JRadioButton radio2 = new JRadioButton("House", true);
radio2.addActionListener(this);
radio2.setActionCommand("House");
JRadioButton radio3 = new JRadioButton("Computer");
radio3.addActionListener(this);
radio3.setActionCommand("Computer");
//3つのボタンをグループ化します。これによりどれかひとつだけ
//ボタンがチェック状態になります。グループ化しないとそれぞれの
//ボタンは独立してチェックすることができます。
ButtonGroup group = new ButtonGroup();
group.add(radio1);
group.add(radio2);
group.add(radio3);
//5行1列のグリッドレイアウト配置を行います。
GridLayout layout = new GridLayout(5,1);
//コンポーネント間の隙間を垂直方向に3ピクセル空けます。
layout.setVgap(3);
//次のようにレイアウト設定と隙間の設定を同時に行う
//こともできます。
//GridLayout(int rows,int cols,int hgap,int vgap)
//ボタンなどの部品はContentPainという板に載せるという
//考え方をします。ContentPainはgetContentPane()により取得し、
//それにadd()メソッドで部品を加えていきます。
//配置の設定を実際に適用します。
getContentPane().setLayout(layout);
//prompt、ラジオボタン、msgを実際に配置します。
getContentPane().add(prompt);
getContentPane().add(radio1);
getContentPane().add(radio2);
getContentPane().add(radio3);
getContentPane().add(msg);
}
//ラジオボタンがクリックされたときに、このメソッドが呼び出されます。
public void actionPerformed(ActionEvent e){
//JLabel型フィールドmsgに文字列を設定します。
//e.getActionCommand()は、このメソッドを呼び出したときに設定
//されているActionCommand文字列を返します。
msg.setText("Selected is " + e.getActionCommand());
}
}
下の画像は、実行時の画像です。

FTP Sample
Kom., 2011
