[Java]なぜか描写されない

投稿日: 更新日:

いつもながら、JPanelのサブクラスにしたものにpaintComponent(Graphics g)をオーバーライドして、
repaintでアニメーションしようと思ったのですが、なぜか再描写されない。
構造的には、アプレットのinit()でスレッドを作成して、一定期間でクロックっぽいメソッドを呼び出すというものなのですが。
どこかで重たい処理してるのかなと思っても見当たらない。
paintImmediatelyという最終兵器を使ったのですが、それでも再描写されない。
裏で2つSocketの入出力用スレッド動かしているせいかなと思ったのですが、それ外してテストするのも面倒。
しかもなんか、他の変数と同期取れてないというか。もうわけわかんなくなって。
(そのJPanelのサブクラス内に独自に定義したメソッドで、色々な処理をしてて、変数の内容かえたりしてるけど、
paintComponentメソッド内で、その変更を加えた変数の内容を表示したところ、中の変数の値が変わっていない。
でも外のメソッドで確認すると、値はちゃんと変わってる。)
結局、paintComponent(Graphics g)があるJPanelのサブクラス自体にRunnableつけてスレッド化したら、うまくいくようになった。
原因不明。2時間以上格闘してた。動けばいいんですよ動けば…。


原因分かりました。
メインクラスを2つ作ってた。^^;

広告

コメントをどうぞ(承認された後に公開されます。メールアドレスの記入は自由ですが、記入した場合でも一般公開されることはありません)

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中