• ベストアンサー

Java2Dの実行エラー

とあるサイトからJDK1.3と次のようなサンプルソースを 入手しました。 ------------------------------------------------- import java.awt.Frame; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.*; public class GeomLine extends Frame { public GeomLine() { super("Geometry Test"); } public void paint(Graphics g) { // Graphics2Dの取得 Graphics2D g2 = (Graphics2D)g; // 描画図形の決定 Shape s = new Line2D.Float(10.0f, 50.0f, 90.0f, 150.0f); // アウトラインの描画 g2.draw(s); } public static void main(String[] args) { Frame f = new GeomLine(); f.setSize(100,200); f.setVisible(true); } } ------------------------------------------------- 以上のようなサンプルソースをJKD1.3でコンパイルを行い、 appletviewerで上ソースをコンパイルしたclassファイルを コールしているHTML文を動かしてみたところ、以下のような メッセージが出てしまい、アプレットウィンドウは表示された ものの何も空白のウィンドウになってしまいました。 ------------------------------------------------- C:\JAVA_S~1\ex2>appletviewer ex02.htm java.lang.ClassCastException: GeomLine at sun.applet.AppletPanel.createApplet(AppletPanel.java:579) at sun.applet.AppletPanel.runLoader(AppletPanel.java:515) at sun.applet.AppletPanel.run(AppletPanel.java:293) at java.lang.Thread.run(Thread.java:484) ------------------------------------------------- 上記エラーを解消するにはどのようにしたらよろしいのでしょうか?

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

  • ベストアンサー
  • ct27
  • ベストアンサー率62% (48/77)
回答No.2

public static void main(String[] args)で始まるものはアプレットではなくアプリケーションです。 アプリケーションをappletviewerで見ようとしてもおそらく見ることができないと思います。 MS-DOSからコマンドをたたいて実行されているなら アプレット(appletviewer)の実行→appletviewer HTMLファイル名 アプリケーションとしての実行  →java クラス名 となります。参考URLにアプレットとアプリケーションのコードについて説明がありますので よろしかったら参考にご覧下さいませ。

参考URL:
http://www.gimlay.org/~andoh/hatena/java/S002.html#S002-07

その他の回答 (1)

  • vmlinuz
  • ベストアンサー率30% (4/13)
回答No.1

GeomLine を Frame にキャストできないよ、といっているように見えます。 あまり自信はないのですが、mainメソッドの1行目を GeomLine f = new GeomLine(); に変えると例外は出なくなりますかね?

yo-he
質問者

補足

ご回答ありがとうございます。 ご指摘の通り私の方で再度やってみたのですが、 メッセージは以前のままで改善されてないようでした。 自分もjavaの初心者なので、あまり詳しいところまで わかりませんが、ヘッダ上にあるimportするパッケージが 無い場合とか不正である場合にはこのようなメッセージは 表示されるものなのでしょうか?

関連するQ&A