4

Netbeansのパッケージで、2つのJFrameフォームを作成しました。1つはLogin、2つ目はmainProgramです。ログインに成功したら、次の方法でログインフレームを「閉じ」、メインプログラムフレームを開きます。

mainProgram m=new mainProgram();
m.setVisible(true);
setVisible(false); //to hide the log in frame

これは正しい方法ですか?これらの2つの分離されたクラスが閉じられるのではなく、非表示になっているのは間違いではありませんか?これらは1つのプロセスですか、それとも2つの異なるプロセスですか。より良い方法があるとしたら、それは何ですか?

ありがとう..

4

4 に答える 4

4

これは正しい方法ですか?

はい、これで問題ありません。

これらの2つの分離されたクラスが閉じられるのではなく非表示になっているのは間違いではありませんか?

理想的なのは、未使用のフォーム(不要になった場合のログインフォームなど)を破棄することです。

これらは1つのプロセスですか、それとも2つの異なるプロセスですか?

これらは同じプロセスで実行されます

于 2012-07-01T10:33:30.580 に答える
4

Netbeansのパッケージで2つのJFrameフォームを作成しました。最初のフォームはログイン、2番目のフォームはmainProgramです。ログインに成功したら、次の方法でログインフレームを「閉じ」、メインプログラムフレームを開きます。

CardLayoutを使用します。正しくログインした後、GUIを次のカードに切り替えたり、画面上のJFrameDimmnsionを変更したりできます。

于 2012-07-01T10:33:38.267 に答える
1

私の意見では、より正しい方法は、Launcherのような、エントリポイント(メインメソッド)を持つ別のクラスを使用することです。ログインウィンドウをモーダルJDialogとして作成し、DISPOSE_ON_CLOSEをデフォルトの閉じる操作の値として設定します。ダイアログのクラスには、実際にログインしているユーザーに通知するメソッドが含まれている必要があります。ログインダイアログを閉じた後、メインフレームを表示します。

loginDialog.setVisible(true);
if (loginDialog.isLoggedIn())
    mainFrame.setVisible(true);
于 2012-07-01T10:37:00.270 に答える
1

これを試して...

  1. 非表示と再表示に使用したアプローチは問題ありませんが、disposeを使用するとより適切になります。

  2. これらのJFrameを管理するクラスにシングルトンパターンを適用してみてください。

  3. そして、はい、それらは両方とも同じプロセス上にあります。

于 2012-07-01T11:17:05.317 に答える