- 1 名前:デフォルトの名無しさん [03/08/31 04:24]
- そんなSwingとやっていくみんなのスレッドです。
- 563 名前:デフォルトの名無しさん mailto:sage [04/01/10 04:37]
- まずスレッドに対する一般的な知識として、ここを。
www-6.ibm.com/jp/developerworks/java/010427/j_j-thread.html dW : Java technology : マルチスレッド化Javaアプリケーションの作成 Swingにおける具体的な例としてはこのサイトが、例も短くて理解しやすい。 black.sakura.ne.jp/~third/system/java/swing4.html Swing とスレッド 英語ならここが短くまとめられている。 www.math.cuhk.edu.hk/TechInfo/JavaTutorial-2/ui/swing/threads.html Threads and Swing ここの三つの記事などを一通り読むのも。 java.sun.com/products/jfc/tsc/articles/threads/threads3.html The Last Word in Swing Threads Swing自体についてはここも。 java.sun.com/products/jfc/tsc/articles/painting/ Painting in AWT and Swing >>560 ソースを見ないと正確なことは言えないが、有り得る。
- 564 名前:デフォルトの名無しさん [04/01/10 05:01]
- Javaのレイアウトって使えないよね
- 565 名前:デフォルトの名無しさん mailto:sage [04/01/10 05:29]
- >>557-560
シングルスレッドルールといっても、 Javaチュートリアルのページにもあるようにそれほど恐ろしいものではないよ。 普通にイベントハンドラに、処理を書いておく限りにおいては、 >>560のようにデッドロックを引き起こすことはまずないし。 もちろん長時間かかる処理を行わせれば、処理が終わるまでGUIは固まるが。 マルチスレッドなシステムによる描画なら、MVCの構成が参考になるかもしれない。 システムをMとVCに区分けして、画面の描画はpaintComponent()メソッドにのみ置く。 paintComponent()メソッドは、モデルのデータを読みとって画面に描画する。 イベントディスパッチスレッド以外のスレッドは、 モデルのデータをいじっても、ビューに対する描画は行わないようにする。 スレッドが、モデルのデータをいじったあとは、 repaint()などの、どのスレッドから呼び出してもかまわないメソッドのみを呼び出し、 イベントディスパッチスレッドにpaintComponent()メソッドを呼び出させてビューを更新する。
|

|