JAVAでアプレットのエラー(eclipse)の意味が分かりません

このQ&Aのポイント
  • JAVAプログラムをeclipseで書いています。新しくプロジェクトを作成し、メモ帳で書いたソースコードをプロジェクトに組み込みました。しかし、実行すると「Start アプレットは初期化されていません」というエラーメッセージが表示されます。
  • コードにはエラーはありませんが、コンソールには「java.lang.ClassCastException: JFrameTest cannot be cast to java.applet.Applet」というエラーメッセージが表示されます。このエラーの意味が分かりません。
  • ドラッグアンドドロップでのソースコードの組み込み方法が間違っているのかもしれません。
回答を見る
  • ベストアンサー

JAVAでアプレットのエラー(eclipse)の意味が分かりません

 JAVAプログラムをeclipseで書いています。  新しくプロジェクトをパッケジエクスプローラに作成し、ドラッグアンドドロップでメモ帳で書いたソースコードを プロジェクト内に落とし込んでやりました。  実行すると、アプレットのウインドウは表示されるのですが、「Start アプレットは初期化されていません」 とウインドウに表示されます。  一体何が原因でしょうか。  コード自体にはエラーはなく、コンソールには、以下のようなコメントが出ていますが、エラーの意味が分かりません、 一体どういうことなのでしょうか。  このようなドラッグアンドドロップのやり方は間違っているのでしょうか。 java.lang.ClassCastException: JFrameTest cannot be cast to java.applet.Applet at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

  • Java
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

JFrameTestというクラスがアプレットクラスにキャストできない、といっている。アプレットでなく、アプリケーションのプログラムになっていないか。つまり、extends Applet(またはJApplet)でなく、extends JFrameになっていないか。アプレットは、必ずアプレットのクラスを継承して定義する必要がある。

eiji_0035
質問者

お礼

logger_manさん、回答有難うございます。 下のコードのどこが間違っているのでしょうか。 mainメソッドを削除して、JFrameをAppletに変更してもやはりエラー表示です。 public class JFrameTest extends JFrame{ public JFrameTest(){ setSize(400,300); setTitle("JFrameのテスト"); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } public void paint(Graphics g){ ; } public static void main(String[] args) { JFrame w = new JFrameTest(); w.show(); } }

その他の回答 (2)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

> Appletならこう、JFrameならこう~ 虫がいいどころの話じゃないわ。 AppletとFrameの違いくらい 調べればすぐわかることよ。 コーディングについては http://www.hellohiro.com/ を参考にすればいいわ。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

あなたの作りたいのはAppletなの? JFrameなの? コードはJFrameになっているのに Appletとして実行しているからダメなのよ。

eiji_0035
質問者

お礼

 askaaskaさん、有り難う御座います。  因みにAppletならこう、JFrameならこう書くと教えていただけると今後の参考になるのですが。  虫のいいお願いかも知れませんが、所詮初心者なので何とかお願いできないでしょうか、何とど宜しくお願いします。

関連するQ&A

  • javaアプレットを実行するとエラーになります。

    javaアプレットを実行するとエラーになります。 import netscape.javascript.JSObject; JAObjectをインポートしたアプレットをEclipseで開発しているのですが、赤い字でエラーが出ます。 netscape.javascript.JSException at netscape.javascript.JSObject.getWindow(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 初心者でどうやってエラーを解決してよいのか分かりません。 クラスパスの設定で解決できる問題なのでしょうか。 分かる方おりましたら教えてください。

    • ベストアンサー
    • Java
  • アプレットがうまく動かない…

    javaを勉強しています。本を参考にして、下記のようなアプレットを書いたのですが、さらにその下のようなエラー(?)が表示されてしまって、画像が表示されません。もしこれだけの情報で見当がつきましたら、よろしくお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class main extends Applet{ Image img; public void init(){ img = getImage(getDocumentBase(), "test.jpg"); } public void paint(Graphics g){ g.drawImage(img,0,0,this); } } java.lang.UnsupportedClassVersionError: main (Unsupported major.minor version 49 .0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12 3) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:561) at sun.applet.AppletPanel.createApplet(AppletPanel.java:617) at sun.applet.AppletPanel.runLoader(AppletPanel.java:546) at sun.applet.AppletPanel.run(AppletPanel.java:298) at java.lang.Thread.run(Thread.java:534)

    • ベストアンサー
    • Java
  • Javaアプレットビューワー

    Javaでアプレットビューワーを使用した際、 java.lang.ArrayIndexOutOfBoundsException: 108 at moji.cntpix(moji.java:80) at moji.init(moji.java:41) at sun.applet.AppletPanel.run(AppletPanel:424) at java.lang.Thread.run(Thread.java:619) とでたのですがどういう意味なのでしょうか? 教えてくださいお願いします。

    • ベストアンサー
    • Java
  • アプレットをhtmlに乗せると動かなくなります…

    こんにちは。わざわざ見て下さっている方ありがとうございます! 作ったアプレットがアプレットビューアの上でなら動くのに、htmlに乗せると「読み込みに失敗しました」になってしまいます。 私は本当に初心者でして、何をお伝えすればいいのか分からないのですが、htmlのアプレットを右クリックした時に出てくる[Javaコンソール]というものが限りなく怪しいかなと思いましたので、下にペーストしておきました。関係なかったらすみません。 Class: class ThreeDMaze ClassLoader: sun.plugin.security.PluginClassLoader@10dd1f7 java.security.AccessControlException: access denied (java.io.FilePermission .\mapFile read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkRead(Unknown Source) at java.io.File.list(Unknown Source) at ThreeDMaze.init(ThreeDMaze.java:70) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうか宜しくお願いします!

    • ベストアンサー
    • Java
  • FirefoxでJava Appletが表示できません

    掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。 各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。 == Firefox 2.0 の Javaコンソール出力 === Java Plug-in 1.5.0_12 使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadCode(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) == Internet Explorer 7 の Javaコンソール出力 === Java Plug-in 1.6.0_05 使用中の JRE のバージョン 1.6.0_05 Java HotSpot(TM) Client VM

    • ベストアンサー
    • Java
  • Eclipse以外でアプレットが実行出来無い

    おはよう御座います、非常に初歩的な内容だと思うのですが、アプレットについて質問させて頂きます。 現在、Eclipseで作成したアプレットを、ブラウザ上で実行しようとしています。 ですが、Eclipseでアプレットを起動中に自動生成されるhtmlファイルをコピーしたhtmlファイルでも、アプレットを起動することが出来ないのです。 htmlファイルとclassファイルの内容さえ同じであれば、起動出来るのではと思っていたのですが・・・、何処がEclipseとChromeで違い、どう直せば良いのか解らず、質問させて頂きました。 HTMLファイルの内容は <html> <body> <applet code=Practice_1/HelloWorld.class width="200" height="200" > </applet> </body> </html> エラーの内容は以下の通りです。 Java Plug-in 1.6.0_31 使用中の JRE のバージョン 1.6.0_31-b05 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Users\名前 java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/jbox2d/callbacks/ContactListener at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoClassDefFoundError: org/jbox2d/callbacks/ContactListener at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.jbox2d.callbacks.ContactListener at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 20 more 例外: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/jbox2d/callbacks/ContactListener 実行しようとしているプログラムでは、Eclipseで言う所のプロジェクト内に、ImageとPractice_1というパッケージがあり、動作させたいクラスはPractice_1内に入っています、Eclipseでは当然何のエラーも無く実行出来ます。 見た限り、ContactListenerクラスが見つからない、というエラーのようなのですが、それ以外の後から入れたライブラリのクラスに関してはエラーが表示されていないので困惑しています。 Eclipseで自動生成された内容から一切変えていないので、htmlファイルが間違っているわけでは無いと思っていたのですが、ブラウザ上で起動する場合は何か付け加える物があるのでしょうか・・・、どなたか解る方が居ましたら、解答頂けると助かります。

    • ベストアンサー
    • Java
  • 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) どうすればこのエラーが解消できるのでしょうか。

  • javaに詳しい方に質問です

    javaに詳しい方に質問です 私は家ではwindowXP、学校ではUNIXを使ってjavaを勉強中です あるブロック崩しのプログラムがあるのですが、家では実行出来たのですが、 学校ではよくわからないエラーが出てしまいました 内容は下記の通り [c]$ cd java [c java]$ javac Blockdx.java [c java]$ appletviewer Blockdx.html Warning: Cannot convert string "-misc-kochi mincho-medium-r-normal--*-140-*-*-c-*-jisx0208.1983-0" to type FontStruct java.lang.UnsupportedClassVersionError: Blockdx (Unsupported major.minor version 50.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:561) at sun.applet.AppletPanel.createApplet(AppletPanel.java:619) at sun.applet.AppletPanel.runLoader(AppletPanel.java:548) at sun.applet.AppletPanel.run(AppletPanel.java:299) at java.lang.Thread.run(Thread.java:534) javaのバージョンは下記の通り 自宅 1.4.2_05 学校 1.6.0_18 学校でも家でもBlockdx.javaとBlockdx.htmlの二つのファイルを用意して Blockdx.javaをコンパイルした後、appletviewer Blockdx.htmlで実行したのは同じです 学校の先生いわく、バージョンかなぁと言っていましたが、よくわからないのが本音だそうです わかる方いらっしゃいますか?

    • ベストアンサー
    • Java
  • JAVAアプレットのホームページへの挿入がうまくいかなくて困っています

    JAVAアプレットのホームページへの挿入がうまくいかなくて困っています。 原因が分かる方いたら教えてください。 ECLIPSEで作成した.classファイルをホームページビルダーのJAVAappletの挿入という機能を使って挿入しようとしました。 ホームページビルダーの素材集にあるJAVAアプレットはうまく表示できたのですが、 「エラー。クリックした詳細を確認してください」というメッセージが出ます。 クリックして出るエラーは次の通り。 ↓ Java Plug-in 1.6.0_17 使用中の JRE のバージョン 1.6.0_17-b04 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Users\solitaire ---------------------------------------------------- c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティと配備プロパティをダンプ t: スレッドリストをダンプ v: スレッドスタックをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 例外: java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet) /////////////////////////////////////// ↓HTMLコードの一部 <p>アプレットを挿入してみたのだけれど</p> <p><applet code="sampleapplet.class" width="300" height="300"></applet></p> //////////////////////////////////////////// ↓ビルド前のJAVAコードの一部 package sampleapplet; import java.applet.Applet; import java.awt.Graphics; public class sampleapplet extends Applet{ public void paint(Graphics g){ g.drawLine(10, 10, 180, 110); } }

    • ベストアンサー
    • Java
  • アプレットを表示しようとするとエラーが発生

    会社にアプレットで開発したある受注発注システムがあります。 ユーザがブラウザを開いて、項目を入力することができこちらで確認するという簡単なシステムです。 今回、ユーザが自宅からアップレットシステムを使用しようとすると以下のアドレスが発生しました。会社からは問題なくアプレットを見ることができます。このエラーの原因は何か教えて頂けないでしょうか?ちなみにOSもJSDK1.4.2のバージョンも同じです。 Skipping CAB: outline.cab Skipping CAB: actionbar.cab Skipping CAB: nvapplet.cab due to: java.lang.NullPointerException due to: java.lang.NullPointerException due to: java.lang.NullPointerException java.lang.ClassNotFoundException: lotus.notes.apps.outlineapplet.OutlineApplet at com/ms/vm/loader/URLClassLoader.loadClass at com/ms/vm/loader/URLClassLoader.loadClass at com/ms/applet/AppletPanel.securedClassLoad at com/ms/applet/AppletPanel.processSentEvent at com/ms/applet/AppletPanel.processSentEvent at com/ms/applet/AppletPanel.run at java/lang/Thread.run java.lang.ClassNotFoundException: lotus.notes.apps.viewapplet.ViewApplet at com/ms/vm/loader/URLClassLoader.loadClass at com/ms/vm/loader/URLClassLoader.loadClass at com/ms/applet/AppletPanel.securedClassLoad at com/ms/applet/AppletPanel.processSentEvent at com/ms/applet/AppletPanel.processSentEvent at com/ms/applet/AppletPanel.run at java/lang/Thread.run

    • ベストアンサー
    • Java

専門家に質問してみよう