クラスAのメソッドA(非GUI)
public void add() {
if(etc...) {
add data to a arraylist .....
}
Class B.updateTable();
}
上記のメソッドは、基本的にデータをarraylistに追加してから、クラスbのtableViewerを更新します。
クラスB-GUIダイアログ
クラスB.updateTable()を呼び出す前に、クラスBのGUIが開いていて、破棄されていないことを確認したいと思います。
ユーザーは、クラスB GUIを開かなくてもクラスA(非GUI)を使用できます。クラスAはユーザーが選択したArrayListを作成し、クラスBはそれを表示するためです。そのため、データを表示しようとせずにデータを追加できます。
現在B.updateTable()を実行していて、クラスBが開いていない場合、ウィジェットの破棄エラーが発生します。
テーブルを更新する前に、チェックを追加してウィジェットが破棄されていないことを確認できれば。
クラスAの値を確認できますか、それともshell.isDisposedのようなものを返すクラスBの静的ブールメソッドを作成する必要がありますか?
次に、クラスAメソッドで、チェックを追加するだけで済みます。
public void add() {
if(etc...) {
add data to a arraylist .....
}
if(!Class B.isShellDisposed()) {
Class B.updateTable();
}
}
これは可能ですか、それともエラーを処理する正しい方法ですか?