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

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

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

■チョイスとリスト

もうちょっと複雑な選択項目に使われるのが「チョイス」と「リスト」です。チョイスってのは、Windowsでいうコンボボックス、Macでいうポップアップメニューみたいなものです。クリックすると項目がずらっと現れ、その中から1つ選ぶ、というものですね。リストは、いわゆる一覧リストです。たくさんの項目が表示されている、あれですね。

これらもAWTでは用意されています。ただし、チェックボックスなどとちょっと違う点は、「表示する項目を組み込んでいく」という作業が必要なことです。後は、実はそれほど大きな違いはありません。では、これも例をあげておきましょう。

下にあげるリストは、チョイスとリストを1つずつ表示するサンプルです。チョイスを選ぶと、リストの同じ項目が自動的に選ばれます。またリストをクリックして変更すると、選んだ項目名がラベルに表示されます。まあ、ごく単純なものですが、チョイスとリストの基本はわかるかと思います。

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

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

●プログラム・リスト●

import java.awt.*;
import java.awt.event.*;


public class Test7 extends Frame {
	Label mylabel;
	Choice c1;
	List l1;
	ClickItem ci;
	
	public Test7() {
		super();
		setTitle("Hello");
		setSize(300,150);
		setLayout(null);
		ci = new ClickItem();
		
		mylabel = new Label("set state!");
		mylabel.setBounds(50,25,200,25);
		this.add(mylabel);
		
		c1 = new Choice();
		c1.add("MacOS");
		c1.add("Windows");
		c1.add("MacOS X");
		c1.setBounds(20,70,120,25);
		this.add(c1);
		c1.addItemListener(ci);

		l1 = new List();
		l1.add("MacOS");
		l1.add("Windows");
		l1.add("MacOS X");
		l1. setBounds(150,70,120,70);
		this.add(l1);
		l1.addItemListener(ci);
	}

	 public static void main (String args []) {
		new Test7().setVisible(true);
	}

	class ClickItem implements ItemListener {

		public void itemStateChanged(ItemEvent ev){
			if (ev.getSource() == c1) {
				int n = c1.getSelectedIndex();
				l1.select(n);
			}
			if (ev.getSource() == l1) {
				String str = l1.getSelectedItem();
				mylabel.setText(str);
			}
		}

	}
	
}

※関連コンテンツ

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