アプレットが動作不良となる時があます。
アプレットの定周期(1秒、2秒など)の
更新描画にて、repaint()メソッドを呼び出していますが、
Javaからupdate()メソッドが呼び出されず、画面の
描画処理が行われていない状態となっていようです。
調べたところ、アプレットのrepaint()メソッド
を呼び出すと、Javaからupdate()メソッドが
実行され、paint()メソッドに記述している
各描画処理が行われるはずですが、下記のように
実行されていないようです。
非常に困っていますので、どなたかご教授お願いします。
repaint()
↓
update() ←なぜかJavaから実行要求が来ない
↓
paint()
No.3ベストアンサー
- 回答日時:
本当のところはソースコードが無いとわからないのですが、
考えられることをいくつか書きます。
・AWTはWindowsの資源(メモリの量や時間など)を
部品ごとに消費するので、
ウィンドウやGUI部品が多すぎる場合は
メモリが足りなくなってしまうかもしれません。
・ウインドウのを生成/消滅させるときに、
スレッドを消滅させずに使っていませんか。
そのとき例外が起こるかもしれません。
・JDKのバグというのも時にはあります。
JDK1.4を使ってみて、現象が起こるか確かめてください。
・どこかでオブジェクトを作りっぱなしになっていて、
javaVM内でのメモリリークが起こっているかもしれません。
java.lang.Runtime.freeMemory()を定期的に呼び出すと
診断できる場合があります。
・単純にスレッドをループとして使っている場合は違うと思いますが、
複数のスレッドのデッドロックという可能性もあります。
お力になれなかったらすみません。
この回答への補足
ご回答ありがとうございます。助かっています。
・アプレットを終了させる時、スレッドにnullをセットしているので、スレッドも終了しているものと思います。
・描画処理に対して、スレッドにより定周期間隔(sleep)のタイミングを取っているぐらいで、スレッドによる複雑な処理は行っていないものと思います。
その他ご指摘頂いた内容を確認してみようと思います。
No.2
- 回答日時:
●AWTとSwingのどちらを使っているか。
●1秒の周期を計るしくみは何か。
補足ください。
この回答への補足
● AWTにて作成しています。
● スレッドを使用し、run()の処理でrepaint()と
sleep(1000)をコールしています。
ご回答よろしくお願い致します。
No.1
- 回答日時:
よくわからないのですが…
AWTとSwingでいくらか状況が違うので、
JDKのバージョンと、どちらを使っているか補足してください。
#Swingでは通常、paint()はオーバライドせず、
かわりにpaintComponent()を使い、
先頭でsuperの同メソッドを呼び出しますが、
それは大丈夫ですね?
また、周期を計るしくみを教えてください。
スレッドか、utilのTimerか、SwingのTimerか。
この回答への補足
すみません。補足します。
<現象>
クライアントPCのIEブラウザ上のJavaアプレットにて、
1秒周期で画面の描画処理を行っているのですが、
Javaアプレットの画面を複数起動させた時に、
repaint()をコールしているにもかかわらず、
update()メソッドが呼ばれなくなってしまい、
描画処理が行えない現象に陥ってしまう場合があります。
(Javaアプレットの画面を複数起動させない場合は、
本現象が発生しない時もあります。)
<実行環境>
(1)サーバPC
Windows2000(SP3) Server
JSDK 1.3.1.03
Apache 1.3.24
Tomcat 3.3a
J2RE 1.3.1_03
(2)クライアントPC
Windows98 及び Windows2000
J2RE 1.3.1_03
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
canvasに描画したものを全て削...
-
【sendkeysメソッドが動かずに...
-
『独習JAVA』が難しい
-
javascriptからjavaを呼び出したい
-
mainメソッドのthrows節で設定...
-
アクセスのレポートで円を描きたい
-
Excel VBA でExcelを終了したい...
-
マスターページからコンテンツ...
-
エクセルVBAのInputBoxメソ...
-
pythonのプログラムについての...
-
ウィンドウを最前面にできません
-
FEM解析の読み方は?
-
Labelコントロールに数字を代入...
-
VBAでコピーコマンドを実行する...
-
DataGridViewでセルクリックイ...
-
[VBA]GetSaveAsFilenameメソッ...
-
勝手にアプレットが停止します
-
例外処理をするソースコードに...
-
個々のメソッドの呼び出し時間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
final修飾子を使っているのに、...
-
JSPで<SELECT>の中にDBから持っ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
コマンドプロンプト実行後に画...
-
配列のメソッド
-
日本の教育って時間が無い中で...
-
Refreshメソッドの使い方
-
mainメソッドのthrows節で設定...
-
【sendkeysメソッドが動かずに...
-
C# 演算 最大値 最小値 表現の仕方
-
VBA コピーが出来ません…!
-
Application.Wait の参照設定
-
ウィンドウを最前面にできません
-
for文(拡張)内の変数(ローカ...
おすすめ情報