こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

java アプレットでエラー

以下のサンプルソースをEclipse上で実行したら
"アプレットは初期化されていません"というエラーになってしまいました。

//フレームウィンドウの表示/非表示を切り替える。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample129 extends Applet implements
ActionListener {

Button bt;
frame fr;

public void init() {
bt = new Button("ウィンドウ表示");
add(bt);
bt.addActionListener(this);
fr = new frame("操作対象ウィンドウ");
fr.setSize(250,120);
}

public void actionPerformed(ActionEvent event) {
//ウインドウを表示
fr.setVisible(true);
}
}

class frame extends Frame {

frame(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//ウインドウを非表示
setVisible(false);
}
});
}

public void paint(Graphics g) {
g.drawString("閉じるボタンで非表示",65,65);
}
}

■エラー内容
java.lang.NoSuchMethodError: frame: method <init>(Ljava/lang/String;)V not found
at Sample129.init(Sample129.java:17)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

どうすればこのエラーが解消できるのでしょうか。

投稿日時 - 2007-08-17 12:17:40

QNo.3262081

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

PED02744さんの言うとおり、コードは問題ないですね。
こちらでも実行可能(ただし、いろいろいじってたら別のエラーがでた)
実行環境その他の問題のような気がする。
というわけで、
・Eclipseで使ってるJREのバージョンは何か?最近変更したか?
ウィンドウ/設定→Java/インストール済みのJREで確認可能
・実行/デバッグはJavaアプレットでやってるか?
(本来、このコードならJavaアプリでは実行できない気がする)
・プロジェクトのビルドをしてるか
プロジェクト/プロジェクトのビルドで可能。
ただし、デフォルトは自動で実行するので選択できないはず。
・他のファイルでエラーが出ていないか?

あとは、プロジェクトのフォルダ内のどこか(たぶんbinフォルダ)の中に、
classファイルがあるので、いっぺん消してみて、プロジェクトのクリーンをかける。
これでどうだろうか?

投稿日時 - 2007-08-19 17:44:26

お礼

新たにプロジェクトを作り、そこで実行した所、正常に実行できました。
色々なJarを読み込んでいたので、クラス名がバッティングしていたのでしょうか?
fr = new frame("操作対象ウィンドウ");
の行でエラーになっていたので。
解決しました。有難うございました。

投稿日時 - 2007-08-21 14:35:41

ANo.1

全くわかりません。
なぜなら、あなたのサンプルソースをそのまま貼り付けただけで、
Eclipse上で正しく動作したからです。
単にコーディングミスではないでしょうか。

投稿日時 - 2007-08-17 13:47:24

補足

そのままコピーで貼り付けてます。
コーディングミスではないと思います。
環境でしょうか?

投稿日時 - 2007-08-17 16:16:05

あなたにオススメの質問