目次へ

解答例 - 実習課題3 - 9.基本的なコンポーネント3

(実習課題3)

以下のプログラムを作成しなさい。

  • ウィンドウに表示されるコンポーネントはコンボボックスと「表示」ボタン。
  • コンボボックスのリストには10以上の都市の名前がリストアップされている事。またコンボボックスは直接編集可能にする事。
  • 「表示」ボタンを押すと、その時点で選択されている都市名がコンソールに表示される。もしコンボボックスのリストに含まれていない場合(ユーザが直接編集した場合)は、そのデータをリストに追加する事。

解答例

/**
 * ComboBoxFrame.java
 * TECHSCORE Javaユーザインタフェース9章 実習課題3
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

package com.techscore.ui.chapter9.exercise3;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;

public class ComboBoxFrame extends JFrame implements ActionListener {

    private JComboBox combo;
    private JButton button;
    private final String listItem[] =
        { "Sapporo", "Sendai", "Chiba", "Tokyo", "Shizuoka", "Nagoya", "Osaka", "Okayama", "Hiroshima", "Fukuoka" };

    public ComboBoxFrame() {
        super("ComboBoxFrame");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        combo = new JComboBox(listItem);
        combo.setEditable(true);
        getContentPane().add(combo);

        button = new JButton("print");
        button.addActionListener(this);
        getContentPane().add(button, BorderLayout.SOUTH);

        pack();
    }

    public void actionPerformed(ActionEvent e) {
        String selectedString = (String) combo.getSelectedItem();

        System.out.println("--- selected city ---");
        System.out.println(selectedString);
        for (int i = 0; i < combo.getItemCount(); i++) {
            if (selectedString.equals(combo.getItemAt(i))) {
                return;
            }
        }
        combo.addItem(selectedString);
    }

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

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp