こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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を使う環境として何か細かい設定を間違って
いるのかと思い質問しました。

分かる方がいらっしゃったら教えてください。

投稿日時 - 2007-04-17 03:02:18

QNo.2927507

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

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

参考URL:http://bugs.sun.com/bugdatabase/index.jsp

投稿日時 - 2007-04-17 22:42:52

補足

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

投稿日時 - 2007-04-17 23:38:45

ANo.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で構わないかと。。。
それにしても「デフォルトを使用します。」って一文が非常に気になります。

投稿日時 - 2007-04-17 21:48:01

補足

詳細な検討をありがとうございます。
実は使っている教科書に、haragaさんの書いていらっしゃるエラーが
出るかもしれないが、そのまま続行しなさい、と書いてあります。
最初に書いていなくて申し訳ありません。

~/.hotjava/properties/.appletviewer

を作ってやり直してみましたが変化はありませんでした。

投稿日時 - 2007-04-17 23:36:50

ANo.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の方が便利ですが・・・

投稿日時 - 2007-04-17 12:37:32

補足

お返事ありがとうございます。
ビューワで見る方法をまだ調べていませんで、試していませんが、
以下

1)テキスト表示⇒同様に出てこない

3)test.class削除⇒再コンパイル⇒同じ

4)エクリプス・・・。実はnetbeansでpaintメソッドをオーバーライドする、というプログラムもうまく走りません。バックグラウンドのみの表示になってしまいます・・・。
ということでテキストの簡単なプログラムで試してみよう、と始めた結果、
今回のように同様のことが起きるのです。

ビューワでみる方法を調べて試してみます。

投稿日時 - 2007-04-17 15:14:13

ANo.1

Color指定がないので、バックグラウンドとフォアグラウンドの色が一緒になっていて、
見えないだけでは?
import部に
import java.awt.Color;

ロジック部に
Color c = Color.Blue;
g.setColor(c);

を追加されてみては?

投稿日時 - 2007-04-17 09:48:18

補足

お返事ありがとうございます。
先ほど、カラーの設定をやってみたのですが、線は出てきませんでした。

単にコードの問題なのか、
インストールしたjavaの問題なのか、

今のところ全くわかりません。
同じような経験をお持ちの方はおられませんかねぇ・・・。

投稿日時 - 2007-04-17 11:32:37

あなたにオススメの質問