GUIサンプル(コンボボックス)

Javaアプレットのコンボボックスのサンプルです。



コンボボックス

このページには、以下のサンプルを掲載しています。 下の項目をクリックをすると各サンプルにジャンプします。 ※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
  1. コンボボックスのサンプル ( ComboboxSample01.java )  

■コンボボックスのサンプル

[ サンプルプログラムのソースコード - ComboboxSample01.java - ]
  1. import java.awt.BorderLayout;
  2. import java.awt.Canvas;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.event.ItemEvent;
  7. import java.awt.event.ItemListener;
  8. import java.awt.image.BufferedImage;
  9. import javax.swing.JApplet;
  10. import javax.swing.JComboBox;
  11. public class ComboBoxSample01 extends JApplet implements ItemListener {
  12.   private static final long serialVersionUID = 1L;
  13.   String[] items = { "item1", "item2", "item3" };
  14.   JComboBox combo = new JComboBox(items);
  15.   Canvas canvas;
  16.   BufferedImage bi;
  17.   Graphics2D offs;
  18.   int w, h;
  19.   public void init() {
  20.     w = getWidth();
  21.     h = getHeight();
  22.     bi = new BufferedImage(w, h-25, BufferedImage.TYPE_INT_ARGB);
  23.     offs = (Graphics2D) bi.getGraphics();
  24.     offs.setBackground(Color.WHITE);
  25.     offs.clearRect(0,0,w, h-25);
  26.     canvas = new Canvas(){
  27.       private static final long serialVersionUID = 1L;
  28.       public void paint(Graphics g) {
  29.         g.drawImage(bi, 0, 0, null);
  30.       }
  31.     };
  32.     setLayout(new BorderLayout());
  33.     combo.addItemListener(this);
  34.     add(canvas, BorderLayout.CENTER);
  35.     add(combo, BorderLayout.SOUTH);
  36.   }
  37.   
  38.   public void start() {
  39.     offs.setColor(Color.BLUE);
  40.     offs.drawString("まだ何も選択されていないよ", 10, 10);
  41.   }
  42.   public void itemStateChanged(ItemEvent event) {
  43.     System.out.println(event.getItem());
  44.     if (event.getSource() == combo) {
  45.       offs.clearRect(0, 0, w, h - 35 );
  46.       offs.setColor(Color.RED);
  47.       offs.drawString(event.getItem()+"が選択されました。", 10, 10);
  48.       canvas.repaint();
  49.     }
  50.   }
  51. }
[ サンプルプログラムの実行結果 ]
実行結果を見るには下のボタンをクリックしてください。
コンボボックスの選択項目を変更すると画面上に変更した項目の名前を表示します。 ※実行結果は、別ウィンドウで開きます。実行には時間がかかることがありますのでご注意ください。


[ サンプルプログラムの解説 ]
アプレット上にコンボボックスを追加する場合、下のようなことを行います。
1.コンボボックスが変更された時に行う処理を記述するクラスにItemListenerをインプリメントします。(13行目)
2.ItemListenerをインプリメントしたクラスにitemStateChangedメソッドを記述します。このメソッドの中にコンボボックスが変更されたときの処理を記述します。(49〜57行目)
3.コンボボックスのオブジェクトを生成します。オブジェクト生成時に引数としてコンボボックスに表示される項目をStringの配列を渡します。(17、18行目)
4.生成したコンボボックスのオブジェクトのaddItemListenerを使ってItemListenerをインプリメントしたクラスのオブジェクトを登録します。このサンプルでは、this(自分自身)を指定しています。(38行目)
5.コンボボックスのオブジェクトをコンポーネントに登録します。(40行目)






最終更新日:2019/02/13

2015-03-01からの訪問者数
  447 人