libro
www.tuyano.com
初心者のためのJava SEプログラミング入門

その他のGUI部品 (1/6)

作成:2010-01-14 16:14
更新:2010-01-14 16:23

■チェックボックスとラジオボタン

とりあえずボタンとラベルだけでAWTの部品配置とイベント処理の基本だけ説明しましたが、もちろんAWTに用意されている部品はこれだけではありません。けっこうたくさんあるのです。そこで、割と使いそうなものの中から、いくつか基本的な使い方を紹介していくことにしましょう。

まずは「ラジオボタン」と「チェックボックス」からです。どちらもMacやWindowsではお馴染みのものですね。マウスでクリックしてチェックをON/OFFしたり、いくつかある項目から1つを選んだりするのに用いるものです。では、これらを使った簡単なサンプルを作ってみることにしましょう。

下のリストは、チェックボックス1つと切り替え式の2つのラジオボタンを表示したサンプルです。クリックして変更すると、ラベルに表示されたテキストが変わります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

*program list*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.awt.*;
import java.awt.event.*;
     
public class Test6 extends Frame {
    Label mylabel;
    Checkbox cb1,cb2,cb3;
    CheckboxGroup cbg;
     
    public Test6() {
        super();
        setTitle("Hello");
        setSize(300,150);
        setLayout(null);
         
        cbg = new CheckboxGroup();
        ClickItem il = new ClickItem();
         
        mylabel = new Label("set state!");
        mylabel.setBounds(50,25,200,25);
        this.add(mylabel);
         
        cb1 = new Checkbox("human");
        cb1.setBounds(20,50,150,20);
        this.add(cb1);
        cb1.addItemListener(il);
         
        cb2 = new Checkbox("male",true,cbg);
        cb2.setBounds(20,70,150,20);
        this.add(cb2);
        cb2. addItemListener(il);
         
        cb3 = new Checkbox("female",false,cbg);
        cb3.setBounds(20,90,150,20);
        this.add(cb3);     
        cb3. addItemListener(il);
    }
     
     public static void main (String args []) {
        new Test6().setVisible(true);
    }
     
    class ClickItem implements ItemListener {
     
        public void itemStateChanged(ItemEvent ev){
            String str1,str2;
            if (cb1.getState()) {
                str1 = "You are Human ";
            } else {
                str1 = "You are Animal ";
            }
            if (cb2.getState()) {
                str2 = "and male.";
            } else {
                str2 = "and female.";
            }
            mylabel.setText(str1 + str2);
        }
     
    }
     
}

※関連コンテンツ

「初心者のためのJava SEプログラミング入門」に戻る