- ベストアンサー
シリアル通信で受信したデータによる図の描写
- RS-232Cのシリアル通信により受信したデータをもとにappletに図を描写するプログラムを考えています。
- 受信したデータをコマンドプロンプトに出力することはできたのですがプログラムを改良して受信データを用いてappletに図を描こうとしたところ、コンパイルはできたのですがappletで実行するとコマンドプロンプトにエラーメッセージが表示され実行できませんでした。
- プログラムは以下の通りです。分かる方がおられたらご回答のほどよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
java.security.SecureClassLoaderのエラーのようなので、このアプレットに下のようなmain()を付けてローカルアプリケーションとして動かしてみて動けば、無署名アプレットはセキュリティ上の理由により、クライアントのシリアルポートにアクセスできないという結論になるでしょう。すでに、ローカルアプリケーションとしては動かして見られたのかな? ------------------------------------------------- public static void main(String[] args){ SerialPortReader spr = new SerialPortReader(); Frame frame = new Frame(); frame.setSize(600, 600); frame.add(spr); frame.setVisible(true); spr.init(); } -----------------------------------------------
その他の回答 (2)
- _ranco_
- ベストアンサー率58% (126/214)
そ、そ、そ、それとも、アプレットを動かしているクライアントのJavaに、javax.commがない?
- _ranco_
- ベストアンサー率58% (126/214)
> エラーメッセージが表示され実行できませんでした どんなエラーメッセージですか?。それがいちばん重要な診断情報です。 メッセージの全文、そしてソースの行番号などを示していたら、それがどの行かも教えてください。
補足
ご回答ありがとうございます。 説明が不足していて申し訳ありませんでした。 表示されたメッセージは以下の通りです。 よろしくお願いします。 at java.lang.NoClassDefFoundError: javax/comm/SerialPortEventListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:178) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at sun.applet.AppletClassLoader.loadCode(AppletPanel.java:618) at sun.applet.AppletPanel.createApplet(AppletPanel.java:780) at sun.applet.AppletPanel.runLoader(AppletPanel.java:709) at sun.applet.AppletPanel.run(AppletPanel.java:363) at java.lang.Thread.run(Thread.java:619)
お礼
何度もご回答いただきありがとうございます。 教えていただいたmain文を追加したところアプリケーションにて 実行することができました。 本当にありがとうございました!