目次へ

解答例 - 実習課題1 - 8.基本的なコンポ−ネント2

(実習課題1)

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

  • ウィンドウに含まれるコンポーネントはボタン1つ。テキスト等は任意。
  • ボタンが押されるとポップアップメニューが表示される。
  • ポップアップメニューに含まれるメニューは2つ以上。テキスト等は任意。
  • メニューが選択されるとボタンのテキストが変わるようにする事。

解答例

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

package com.techscore.ui.chapter8.exercise1;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class PopupMenuFrame extends JFrame implements ActionListener {

    private JButton button;
    private JPopupMenu popup;
    private JMenuItem menuItem1, menuItem2;

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

        popup = new JPopupMenu();
        menuItem1 = new JMenuItem("menu item 1");
        menuItem1.addActionListener(this);
        popup.add(menuItem1);
        menuItem2 = new JMenuItem("menu item 2");
        menuItem2.addActionListener(this);
        popup.add(menuItem2);

        button = new JButton("menu item 1");
        getContentPane().add(button);
        button.addActionListener(this);

        pack();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == button) {
            popup.show(button, 0, 0);
        } else if (e.getSource() instanceof JMenuItem) {
            button.setText(((JMenuItem) e.getSource()).getText());
        }
    }

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

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp