• 締切済み

javaでアプレットの描画が出来ない

ものすごく初心者な質問で申し訳ありません。 jdk-1.6.0をVine linux 3.2にインストールして使用しています。 javaのソースを書いてコンパイルするなどには問題は無いのですが (今のところ) 以下のようなアプレットを試してみたところアプレットの窓は起動しますが 描画がされません。 import java.applet.Applet; import java.awt.Graphics; /* <applet code="test" width=200 height=200> </applet> */ public class test extends Applet { public void paint(Graphics g) { g.drawLine(10,10,180,110); } } 以上のコードを %javac test.java %appletviewer test.java としました。窓は起動し、アプレットが開始された、と表示されるのですが 線が見当たりません。 (ちなみに教科書にあるサンプルなので間違いがあったとしたら写し間違いです) 線が表示されるはずなんですが、表示されないのです。 まども起動するので何かJAVAを使う環境として何か細かい設定を間違って いるのかと思い質問しました。 分かる方がいらっしゃったら教えてください。

みんなの回答

  • haraga
  • ベストアンサー率56% (36/64)
回答No.4

#2です 先ほどの回答はeclipseでの確認でした。 hotjava.properties を下のリンクで探すといろいろ書いてあります

参考URL:
http://bugs.sun.com/bugdatabase/index.jsp
kuntaro33
質問者

補足

ページを少しだけ見てみました。 色々とエラーやバグの話が載っていて参考になりそうですね。 一度、時間をかけて自分と同じ境遇の人がいないかチェックしてみることに します。

  • haraga
  • ベストアンサー率56% (36/64)
回答No.3

#2です(Win:XP JDK1.6)で確かめてますが 「警告: AppletViewer プロパティファイルが読み込まれません: C:\Documents and Settings\hogehoge\.hotjava\properties デフォルトを使用します。」 とでます。(私もはじめて)これが表示されるのは最初だけで、 最初のViewer 起動時に C:\Documents and Settings\hogehoge\の下に .appletviewer なるファイルが生成されています。 その中身は ------------------------1 http.proxyPort=80 package.restrict.access.sun=true http.proxyHost= -----------------------------1 です。意味はわかりません。2回目以降はこの生成されたファイルを読んでいるようでエラーになりません。 vineがないので推測ですが、viewer起動時に作成されるはずの .appletviewer が権限がなく作成されない。(メッセージ出てもよさそうですが) .appletviewer を権限がなく読めない。 などが考えられます。 アカウント近辺にそのようなファイルはありませんか? あれば属性を確認してください。 ない場合はHomeディレクトリの下(かな?)に .hotjavaディレクトリを作成し その中にpropertiesファイルを作成してください。中身は 1で構わないかと。。。 それにしても「デフォルトを使用します。」って一文が非常に気になります。

kuntaro33
質問者

補足

詳細な検討をありがとうございます。 実は使っている教科書に、haragaさんの書いていらっしゃるエラーが 出るかもしれないが、そのまま続行しなさい、と書いてあります。 最初に書いていなくて申し訳ありません。 ~/.hotjava/properties/.appletviewer を作ってやり直してみましたが変化はありませんでした。

  • haraga
  • ベストアンサー率56% (36/64)
回答No.2

import java.applet.*; import java.awt.Graphics; import java.awt.Color; public class test extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); g.drawString("test!",50,50); g.drawLine(10,10,180,110); } } 同じ環境にならないので(win、JDK1.4=古い!)回答にはなりませんが 1 これでテキストは表示されますか? また、ビューワーではなく <html> <body> <applet code=test.class width="200" height="200" > </applet> </body> </html> 2 みたいなページをブラウザで表示してみたらどうなんでしょう。 3 以前に javacでコンパイルしたもの”test.class”を削除して、再コンパイルはどうでしょ? 4 余力あればeclipseの方が便利ですが・・・

kuntaro33
質問者

補足

お返事ありがとうございます。 ビューワで見る方法をまだ調べていませんで、試していませんが、 以下 1)テキスト表示⇒同様に出てこない 3)test.class削除⇒再コンパイル⇒同じ 4)エクリプス・・・。実はnetbeansでpaintメソッドをオーバーライドする、というプログラムもうまく走りません。バックグラウンドのみの表示になってしまいます・・・。 ということでテキストの簡単なプログラムで試してみよう、と始めた結果、 今回のように同様のことが起きるのです。 ビューワでみる方法を調べて試してみます。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

Color指定がないので、バックグラウンドとフォアグラウンドの色が一緒になっていて、 見えないだけでは? import部に import java.awt.Color; ロジック部に Color c = Color.Blue; g.setColor(c); を追加されてみては?

kuntaro33
質問者

補足

お返事ありがとうございます。 先ほど、カラーの設定をやってみたのですが、線は出てきませんでした。 単にコードの問題なのか、 インストールしたjavaの問題なのか、 今のところ全くわかりません。 同じような経験をお持ちの方はおられませんかねぇ・・・。

関連するQ&A