JFrame
を作成して表示させるプログラムがあります。 JFrame
が完全に描画されて表示されていることを知りたい場合はありますか?今、ハッキーな「待ち伏せ」の方法が使われています。JFrameが完全に描画されたことを知ります
0
A
答えて
2
addWindowListener
からJFrame
; windowOpened
が実行されると、ウィンドウが表示されます。
0
また、コンポーネントが描画されたときに呼び出されると思われるComponent.addNotify()
をオーバーライドすることもできます。 super.addNotify()
に必ず電話してください。
あなたがSwingWorkerを使用することができます:「得、具体的に実行するためのSwingのスレッドを待つことができますどのように」という質問に答えるために
public void addNotify() {
super.addNotify();
// after displayed handling
}
1
。私は潜在的に問題文を参照してくださいもう一度あなたのコメントを読ん
編集 :
私は、スレッド内のJFrameを作成していますが、私はそのスレッドが表示されるようにJFrameのを待ちたいです。
このスレッドでもframe.setVisible(true)
に電話していますか?そうであれば、SwingペインティングはすべてAWT EventQueueで処理する必要があることに気付かれるはずです。これは、SwingWorker
が入っている場所です。
しかし、 'yield and wait'には、待機/通知操作が必要な場合があります。あなたのSwingWorkerの中で、その後
synchronized (frameShowingLock) {
frameShowingLock.wait()'
}
、またはどこでも(真)frame.setVisibleを呼び出して、あなたの待機中のスレッドをウェイクアップするnotifyAll()
メソッドを使用してプロセスを終了することができます:あなたの呼び出し元のスレッドでは、共有オブジェクトに待つことができます:
synchronized (frameShowingLock) {
frameShowingLock.notifyAll()'
}
関連する問題
- 1. SOS:テクスチャが完全に描画されていません
- 2. 表示時にDataGridViewが完全に描画されない
- 3. アプリケーションウィンドウが完全に描画されているときにイベントがありますか?
- 4. JFrameの描画ウィンドウ
- 5. アクティビティが完全に開始されたときを知る方法はありますか?
- 6. cocos2dで完全な透明な描画
- 7. WPFでテキストを描画して、指定された矩形に完全に収まるようにする
- 8. とにかくWebViewのコンテンツが完全に読み込まれたことを知らせるには?
- 9. AJAXが読み込まれた画像が完全にダウンロードされたときを検出する方法は?
- 10. たくさんの線を描画すると、たくさんの線がアンドロイドdrawLinesで描画されます
- 11. OpenCVでカメラキャプチャされた画像が完全に黒くなっています
- 12. プロトコルバッファメッセージが完全に受信されたことを検出する方法はありますか?
- 13. 新しいContentTemplateが完全に適用されたことを示すイベントはありますか?
- 14. 描画が完了するまで延期されたトースト。どうして?
- 15. Javascriptイメージがオフスクリーンキャンバスに描画された後でキャンバスに描画されない
- 16. HTMl5とキャンバスがIE9(またはFirefox!)に描画されない
- 17. wxPython:動的描画された画像が壊れます
- 18. ココアでピクセル完全描画を取得する方法
- 19. 折りたたみツールバーが完全に折りたたまれない
- 20. google maps:panToが完全にロードされたときのイベントを焼きます。
- 21. アニメーションが完了するまでUIViewコントロールが描画されない
- 22. Javaでは、JFrameは重量コンポーネントまたは軽量コンポーネントですか?それは完全にグラフィカル・ユーザー・インターフェース・コンポーネントを描画するためのネイティブ・オペレーティング・システムを呼び出すことなく、Javaで実装されているため
- 23. - [CALayer setNeedsDisplayInRect:]は、レイヤー全体が再描画されるようにします。
- 24. GLUTと描画コマンドが描画されない
- 25. カーソルで移動する線を描画する必要がありますが、100msごとにウィンドウ全体を再描画しないようにしたい
- 26. サイトが完全にロードされなかった場合に通知を表示します。
- 27. mouseListener描画のためにここでランダム描画線を変更します。
- 28. 完全に初期化されたクラス
- 29. どのように私のリストボックスがWP7のページに完全に入力され、表示されているのを知ることができます
- 30. iPhone、画面が一番上に描画され、次にデュエルアプリのメニューバーの後に描画されます
ああ、待って、あなたはおそらくリスナーなどを望んでいた。削除中... –
その何か、私はちょうど他のどこかで私の待機を移動しているので、私はポーリングが嫌い... – Sandro
リスナーのアプローチに変更されました(参考のために、元の答えはisShowing()をチェックすることを提案しました)。 –