アプリ版:「スタンプのみでお礼する」機能のリリースについて

サンプルプログラムをjavacでコンパイルすると
以下のようなエラーが出ます。

-----------------------------
C:\MyJava>javac menudemo.java
menudemo.java:57: シンボルを解決できません。
シンボル: コンストラクタ Menu (java.lang.String)
場所 : Menu の クラス
menu1 = new Menu("ファイル");
^
menudemo.java:70: シンボルを解決できません。
シンボル: メソッド add (java.awt.MenuItem)
場所 : Menu の クラス
menu1.add(menuitem1);
^
menudemo.java:71: シンボルを解決できません。
シンボル: メソッド add (java.awt.MenuItem)
場所 : Menu の クラス
menu1.add(menuitem2);
^
menudemo.java:72: シンボルを解決できません。
シンボル: メソッド add (java.awt.MenuItem)
場所 : Menu の クラス
menu1.add(menuitem3);
^
menudemo.java:75: java.awt.MenuBar の add(java.awt.Menu) は (Menu) に適用できません。
menubar1.add(menu1);
^
エラー 5 個
---------------------------------------------
サンプルプログラムは以下の通りです。
---------------------------------------------
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class menudemo extends Applet implements ActionListener {

Button button1, button2;
MenuFrame menuWindow;

public void init() {

button1 = new Button("ウィンドウの表示");
add(button1);
button1.addActionListener(this);

button2 = new Button("ウィンドウの非表示");
add(button2);
button2.addActionListener(this);

menuWindow = new MenuFrame("デモメニュー");
menuWindow.setSize(100, 100);
}

public void actionPerformed(ActionEvent event) {

if (event.getSource() == button1) {
menuWindow.setVisible(true);
}

if (event.getSource() == button2) {
menuWindow.setVisible(false);
}

}
}

class MenuFrame extends Frame implements ActionListener {

MenuBar menubar1;
Menu menu1;
MenuItem menuitem1, menuitem2, menuitem3;

TextField text1;

MenuFrame(String title) {

super(title);

setLayout(new GridLayout(1, 1));
text1 = new TextField("");
add(text1);

//メニューバーの生成
menubar1 = new MenuBar();

//メニューの生成
menu1 = new Menu("ファイル");

//メニュー項目の生成
menuitem1 = new MenuItem("Javaの");
menuitem2 = new MenuItem("世界へ");
menuitem3 = new MenuItem("ようこそ");

//イベントリスナーの登録
menuitem1.addActionListener(this);
menuitem2.addActionListener(this);
menuitem3.addActionListener(this);

//メニューへの追加
menu1.add(menuitem1);
menu1.add(menuitem2);
menu1.add(menuitem3);

//メニューバーへの追加
menubar1.add(menu1);

//メニューバーを追加
setMenuBar(menubar1);

}

public void actionPerformed(ActionEvent event) {

if (event.getSource() == menuitem1) {
text1.setText("Javaの");
}

if (event.getSource() == menuitem2) {
text1.setText("世界へ");
}

if (event.getSource() == menuitem3) {
text1.setText("ようこそ");
}
}
}
---------------------------------------------
テキストどおりに入力しているのですが、
いろいろ調べてみても
どこがおかしいか自分では分かりませんでした。
どのようにすれば解決するかお教えください。
よろしくお願いいたします。

A 回答 (1件)

ソースコードやクラスファイルが配置されている場所に、自分で「Menu」というクラスを作っておいてあったりしないだろうか?

    • good
    • 0
この回答へのお礼

logger_man様

さっそくのご返答、ありがとうございました!
まさにその通りでした!
そんなところに問題があるとは
まったく気づいていませんでした。
ありがとうございました!

お礼日時:2009/03/17 17:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!