- 締切済み
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) どうすればこのエラーが解消できるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- neko_noko
- ベストアンサー率45% (146/319)
PED02744さんの言うとおり、コードは問題ないですね。 こちらでも実行可能(ただし、いろいろいじってたら別のエラーがでた) 実行環境その他の問題のような気がする。 というわけで、 ・Eclipseで使ってるJREのバージョンは何か?最近変更したか? ウィンドウ/設定→Java/インストール済みのJREで確認可能 ・実行/デバッグはJavaアプレットでやってるか? (本来、このコードならJavaアプリでは実行できない気がする) ・プロジェクトのビルドをしてるか プロジェクト/プロジェクトのビルドで可能。 ただし、デフォルトは自動で実行するので選択できないはず。 ・他のファイルでエラーが出ていないか? あとは、プロジェクトのフォルダ内のどこか(たぶんbinフォルダ)の中に、 classファイルがあるので、いっぺん消してみて、プロジェクトのクリーンをかける。 これでどうだろうか?
- PED02744
- ベストアンサー率40% (157/390)
全くわかりません。 なぜなら、あなたのサンプルソースをそのまま貼り付けただけで、 Eclipse上で正しく動作したからです。 単にコーディングミスではないでしょうか。
補足
そのままコピーで貼り付けてます。 コーディングミスではないと思います。 環境でしょうか?
お礼
新たにプロジェクトを作り、そこで実行した所、正常に実行できました。 色々なJarを読み込んでいたので、クラス名がバッティングしていたのでしょうか? fr = new frame("操作対象ウィンドウ"); の行でエラーになっていたので。 解決しました。有難うございました。