質問: アプリケーション作成で画面遷移の方法 java言語にて初めてプログラム開発に取り組んでます。 アプレット以外のアプリケーションにて作成中ですが、frameクラス panelクラスの使用方法がいまいち理解できません。 やりたいことは メイン(親)フレームから(子)フレームに画面遷移して スレッド実行しているクラスのsystem.out.printlのメッセージを (子)フレームに出力したいのです。 (実行ログを子フレームに表示させたいのです。) ちなみに表示エリアはtextareaを使用しています。 このような要件の満たしたサンプルソース、がありましたら ご回答と共にお願いしたいのですが? みなさんよろしくお願いいたします。
回答: 一番簡単なのは、コンストラクタの引数として子フレームにメッセージを渡してしまうことです。 それから、親フレームと子フレームをマルチスレッドにし、途中にブリッジ関数を挟むという手もあります。マルチスレッドなら親と子は同時に走りますから、子フレームは、「親フレームからのメッセージが来たか」を定期的にチェックすればいいわけです。 それから、逆に子フレームから取りに行く手だてとしては、system.outで出力したメッセージはすでにストリームの外に流れていってしまっていますから、グローバル変数か何かにメッセージを保存しておき、それを取りに行くような構造にしておけばいいと思います。 まあ、テクニック次第でやりようはいくらでもあるんでしょうけど、今ぱっと思いつく限りで有用と思われるのはこのへんです。 で、サンプルではありませんが、frameクラス類の勉強するのに適当と思われるhpを下記に掲載しますので、行ってみてください。