- ベストアンサー
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) ------------------------------------------------- 上記エラーを解消するにはどのようにしたらよろしいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
public static void main(String[] args)で始まるものはアプレットではなくアプリケーションです。 アプリケーションをappletviewerで見ようとしてもおそらく見ることができないと思います。 MS-DOSからコマンドをたたいて実行されているなら アプレット(appletviewer)の実行→appletviewer HTMLファイル名 アプリケーションとしての実行 →java クラス名 となります。参考URLにアプレットとアプリケーションのコードについて説明がありますので よろしかったら参考にご覧下さいませ。
その他の回答 (1)
- vmlinuz
- ベストアンサー率30% (4/13)
GeomLine を Frame にキャストできないよ、といっているように見えます。 あまり自信はないのですが、mainメソッドの1行目を GeomLine f = new GeomLine(); に変えると例外は出なくなりますかね?
補足
ご回答ありがとうございます。 ご指摘の通り私の方で再度やってみたのですが、 メッセージは以前のままで改善されてないようでした。 自分もjavaの初心者なので、あまり詳しいところまで わかりませんが、ヘッダ上にあるimportするパッケージが 無い場合とか不正である場合にはこのようなメッセージは 表示されるものなのでしょうか?