私は、netbeans でサーバー クライアント アプリケーション プロジェクトを作成しています。netbeans guiビルダーを使用して、JFrameにいくつかのJpanelとその他のもの(ボタン、テキストフィールド、テキストエリア、メニュー)を作成しました。新しいサーバー ボタンを押すと、JFrame 全体とそのすべてのコンポーネントがフリーズしますが、サーバー クライアント部分はバックグラウンドで動作しています。スレッドか何かに問題があると思いますが、何をすべきかよくわかりません。
1 に答える
6
問題は、サーバー クライアント コードが実際にはバックグラウンドで動作しておらず、代わりに Swing イベント スレッドで動作している可能性があります。これは、 SwingUtilitiesメソッドでテストできます。SwingUtilities.isEventDispatchThread()
また:
- バックグラウンド作業を行うために SwingWorker を使用していますか?
join()
バックグラウンド スレッドで呼び出しを行っていますか?- SwingWorkers
get()
メソッドを待っていますか?
コードの詳細は、より具体的なアドバイスを提供するのに役立ちます。何をすべきかを学ぶには、レッスン: Swing での並行性を読んでください。
于 2012-09-29T15:40:33.497 に答える