import java.awt.*;
import java.awt.event.*;
public class Test implements ActionListener{
Checkbox chboxMen;
Checkbox chboxWomen;
Checkbox chboxOcu1;
Checkbox chboxOcu2;
Checkbox chboxOcu3;
Checkbox chboxOcu4;
CheckboxGroup groupSex;
CheckboxGroup groupOccupation;
Label label;
Button btnOK;
public Test(){
/* フレームを作成します。(この状態ではまだフレームは不可視です)*/
Frame frm = new Frame("18-17");
/* レイアウトを設定します。*/
frm.setLayout(new GridLayout(3, 1));
/* フレームのサイズを設定します。*/
frm.setSize(new Dimension(300,100));
/* パネルにレイアウトを割り当てます。*/
Panel pnl1 = new Panel(new GridLayout(1, 2));
Panel pnl2 = new Panel(new GridLayout(1, 4));
Panel pnl3 = new Panel(new BorderLayout());
/* チェックボックスグループを作成します。*/
groupSex = new CheckboxGroup();
groupOccupation = new CheckboxGroup();
/* チェックボックス(性別)を作成します。*/
chboxMen = new Checkbox("男性", groupSex, false);
chboxWomen = new Checkbox("女性", groupSex, false);
/* チェックボックス(職業)を作成します。*/
chboxOcu1 = new Checkbox("会社員", groupOccupation, false);
chboxOcu2 = new Checkbox("事業主", groupOccupation, false);
chboxOcu3 = new Checkbox("学生" , groupOccupation, false);
chboxOcu4 = new Checkbox("主婦" , groupOccupation, false);
/* ラベルを作成し、パネル2に追加する。*/
label = new Label();
/* OKボタン作成。リスナーも登録します。*/
btnOK = new Button("OK");
btnOK.addActionListener(this);
/* 各コンポーネントをパネルに追加する。*/
pnl1.add(chboxMen);
pnl1.add(chboxWomen);
pnl2.add(chboxOcu1);
pnl2.add(chboxOcu2);
pnl2.add(chboxOcu3);
pnl2.add(chboxOcu4);
pnl3.add(btnOK, BorderLayout.WEST);
pnl3.add(label, BorderLayout.CENTER);
/* 3つのパネルをフレームに追加します。*/
frm.add(pnl1);
frm.add(pnl2);
frm.add(pnl3);
/* フレームを表示させます。*/
frm.setVisible(true);
}
/* チェックボックスが変化するとここが呼ばれます。*/
public void actionPerformed(ActionEvent ae){
String strLabel;
try{
strLabel = groupSex.getSelectedCheckbox().getLabel();
strLabel += "の";
strLabel += groupOccupation.getSelectedCheckbox().getLabel();
strLabel += "の方ですね。";
}catch(NullPointerException e){
/* 選択されていなければここに入る。*/
strLabel = "必要事項がすべてチェックされていません";
}
/* ラベル書き換え。*/
label.setText(strLabel);
}
public static void main(String args[]){
new Test();
}
}
|