SWT ライブラリを使用する Java プロジェクトに問題があります。SWT を試すのは初めてなので、石を投げないでください。
環境: Eclipse - ジュノ
クラスと機能:
1º クライアント -> 「メイン」はどこですか。「GUI_Creator」クラス(私のもの)のオブジェクトを作成します。
2º GUI_Creator -> フォームを「設計」するために 2 つの機能があります。
2.1 -> MakeLogIn -> Void メソッド。必要なコントロールをシェルに追加し、パラメータとして指定します。私はそれを使用して、ユーザーに表示する最初のフォームを設計します。
この関数はまた、このシェルのボタンの「クリック」イベントを、新しいシェルを作成する GUI_Creator クラスの 2 番目の関数とリンクします。次に、このシェルが開き、最初のシェルが閉じます。
2.2 -> MakeClient -> この関数はシェル変数を返します。私にとって、これはデザインなどがあっても、プログラムの2番目のシェルを返します。
問題:
「メイン」の最後にこのコードを使用しています:
while (!Conexion.isDisposed())
{
if (!ourDisplay.readAndDispatch())
ourDisplay.sleep();
}
ourDisplay.dispose();
私が間違っていなければ、このコードは、最初のシェルを閉じようとして、2番目のシェルだけを開いたままにしておくと、親ディスプレイを破棄しているため、プログラムが完全に閉じます。
ただし、このコードを削除することはできません。これを行うと、プログラムを実行すると、アクションを「待機」せず、すべての「メイン」コードを実行してから GUI を閉じ、プログラムが終了するためです。
ですから、この状況を修正するために何をしなければならないのか、本当にわかりません。
ありがとう、BTC