• ベストアンサー
  • 困ってます

Appletが動きません・・・

  • 質問No.865220
  • 閲覧数248
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 45% (17/37)

こんにちは。今日Javaを学び始めた超初心者です。

-HelloApplet.java--------------------------
import java.awt.Graphics;
import java.applet.Applet;

class HelloApplet extends Applet{
public void paint(Graphics g){
g.drawString("Hello World", 50,25);
}
}
-------------------------------------------

で、これをコンパイルしてHTMLに組み込み、Appletviewerで見てみるのですが、
以下のようなメッセージが出ます。

----------------------------------------------
C:\java>appletviewer hello.html
load: HelloApplet.class は public ではありません。あるいは public なコンストラク
タを持っていません。
java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a
member of class HelloApplet with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57)
at java.lang.Class.newInstance0(Class.java:302)
at java.lang.Class.newInstance0(Class.java:302)
at java.lang.Class.newInstance(Class.java:261)
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)
----------------------------------------------

HTMLを開くと赤い「×」が出ています。

環境ですが、
CLASSPATH:C:\j2sdk1.4.2_04\lib\tools.jar;.;c:\java
PATH:C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.2_04\bin
作業フォルダ: c:\java

となっています。
おかしいところはないと思うのですけど・・・。
宜しくお願い致します。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 50% (604/1207)

エラーメッセージが出たらちゃんとそれに従うことですよ。

> HelloApplet.class は public ではありません。あるいは public なコンストラクタを持っていません。

HelloApplet クラスがパブリックになっていないのがいけないと言っています。実際にソースを見てみると、

> class HelloApplet extends Applet{

となっていて、確かにパブリックではありません。ならば、パブリックにすればいいだけのことです。具体的には、以下のように訂正すればよいでしょう。

public class HelloApplet extends Applet {

ところで、

> 今日Javaを学び始めた超初心者です。

「超」が付くほどの初心者ではないと思うのですが。質問文も必要な情報がちゃんと書かれていて読みやすいです。的確な質問が出来るということは、それだけスキルがあるということですからね。
お礼コメント
formula_1

お礼率 45% (17/37)

動きました!ありがとうございます!
昨日の勉強でようやくpublicとprivateのことを学びました^^;

HTMLから呼び出す時にpublicになっていないと呼び出せないということでしょうか??

> 質問文も必要な情報がちゃんと書かれていて読みやすいです。

ありがとうございます。
ちょっと読んだだけですが、初心者がぶち当たるのはだいたい環境変数かJava特有の概念だという感じだと思ったので・・・。
投稿日時:2004/05/21 10:13

その他の回答 (全1件)

  • 回答No.1
-HelloApplet.java--------------------------
import java.awt.Graphics;
import java.applet.Applet;

class HelloApplet extends Applet{
public void paint(Graphics g){
g.drawString("Hello World", 50,25);
}
}
-------------------------------------------



class HelloApplet extends Applet{



public class HelloApplet extends Applet{

と書いてコンパイルしなおして、後は同じように
実行してみてください。動かなかったらごめんなさい。
お礼コメント
formula_1

お礼率 45% (17/37)

ありがとうございます<(_ _)>
具体的な内容は#2さんですね。
投稿日時:2004/05/21 10:06
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ