その他のGUI部品 (1/6)
作成:2010-01-14 16:14
更新:2010-01-14 16:23
更新:2010-01-14 16:23
■チェックボックスとラジオボタン
とりあえずボタンとラベルだけでAWTの部品配置とイベント処理の基本だけ説明しましたが、もちろんAWTに用意されている部品はこれだけではありません。けっこうたくさんあるのです。そこで、割と使いそうなものの中から、いくつか基本的な使い方を紹介していくことにしましょう。
まずは「ラジオボタン」と「チェックボックス」からです。どちらもMacやWindowsではお馴染みのものですね。マウスでクリックしてチェックをON/OFFしたり、いくつかある項目から1つを選んだりするのに用いるものです。では、これらを使った簡単なサンプルを作ってみることにしましょう。
下のリストは、チェックボックス1つと切り替え式の2つのラジオボタンを表示したサンプルです。クリックして変更すると、ラベルに表示されたテキストが変わります。
まずは「ラジオボタン」と「チェックボックス」からです。どちらもMacやWindowsではお馴染みのものですね。マウスでクリックしてチェックをON/OFFしたり、いくつかある項目から1つを選んだりするのに用いるものです。では、これらを使った簡単なサンプルを作ってみることにしましょう。
下のリストは、チェックボックス1つと切り替え式の2つのラジオボタンを表示したサンプルです。クリックして変更すると、ラベルに表示されたテキストが変わります。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
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); } } } |
※関連コンテンツ