| プログラミング応用b 第12回 『GUIその3 (AWT/Swingによる応用的イベント処理)』 |
【ラジオボタンとイベント処理の例】
Swing版ラジオボタンの使用例を示す。
List 2-2
SwingJRadioButton.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class SwingJRadioButton {
public static void main( String [ ] args ) {
JFrame f = new JFrame( "radio button sample" );
f.setSize(350, 80);
Container c = f.getContentPane( );
c.setLayout( new FlowLayout( ) );
JRadioButton r1 = new JRadioButton("学生");
JRadioButton r2 = new JRadioButton("教員");
JRadioButton r3 = new JRadioButton("事務職員");
// ラジオボタングループを作成する。
ButtonGroup rbGroup = new ButtonGroup();
rbGroup.add(r1); // ラジオボタングループにラジオボタン1を登録
rbGroup.add(r2); // ラジオボタングループにラジオボタン1を登録
rbGroup.add(r3); // ラジオボタングループにラジオボタン1を登録
// パネルにラジオボタンを登録する。
JPanel p = new JPanel();
p.add(r1);
p.add(r2);
p.add(r3);
// ボタンを設置する。
JButton b = new JButton( "OK" );
p.add( b );
// パネルをコンテントペインに登録する。
c.add(p);
// 匿名リスナを定義し,オブジェクトを生成してボタンb1に登録する
b.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e ) {
if( r1.isSelected() ) System.out.println( "ラジオボタン1が選択された" );
if( r2.isSelected() ) System.out.println( "ラジオボタン2が選択された" );
if( r3.isSelected() ) System.out.println( "ラジオボタン3が選択された" );
}
}
);
// ウィンドウを閉じたときにプログラムも終了するように設定する。
f.addWindowListener(
new WindowAdapter( ) {
public void windowClosing( WindowEvent e ) {
System.exit( 0 );
}
}
);
f.setVisible( true );
}
}