1

クラスGuiApplicationとクラスがありImageHandlerます。GUIは、GUIが使用できるメソッドのファサードを提供するImageHandlerというクラスを介して(したがって画像を)操作できます。Crawler

StartUpmainメソッドを持つという別のクラスがあり、そこで行われるのはのインスタンスを作成することだけですGuiApplication(したがって、基本的にはプログラムを開始します)。

私のGUIにはJTextPane、ロガーとして機能するがあります。特定のアクションとイベントがそこに表示されます。GUI内の他の場所からの出力を使用して、その値を簡単に更新できます。ただし、ドメインクラス内からの出力がある場合、たとえばImageHandler、何もできません。

予期しない画像のURLがリーダーを通過したときにプログラムがクラッシュするのを防ぐブロックがありますTry-Catch。クラッシュした場合は、これをテキストペインに表示したいと思います(「エラー:ファイルxxxを読み取れませんでした」)。

StartUpただし、これをGUIに伝達するための洗練された方法がわかりません。インスタンスを作成できないため、新しいGUIが作成され、ファイルを介してGUIにアプローチすることも良い習慣ではないと思います。

プロジェクト全体を通してアクセスできる別のクラスで変数を定義することを検討していましたが、最初にいくつかの意見が必要でした。

4

2 に答える 2

2

実際的な方法は、メソッドの署名を変更する必要のない RuntimeException をスローすることです。GUI でそれをキャッチし、JOptionPane.showMessageDialog を実行します。

もう 1 つは、ImageHandler の API をイベント ハンドラーで拡張し、GuiApplication JOptionPane.showMessageDialog で呼び出すメッセージ ハンドラーをインストールする方法です。

于 2012-12-16T22:24:13.850 に答える
0

頭に浮かぶオプションの 1 つはコールバックです。何らかのインターフェイスのインスタンス (匿名クラスの場合もあります) を、エラーが発生したときに呼び出す、作業を行うメソッドに渡します。

于 2012-12-16T22:39:13.197 に答える