2

有効なユーザーがメイン アプリケーションにアクセスできるアプリケーションを開発しています。しかし、メインクラスを実行すると問題が発生します。とLoginFrameMain( Editor.java) フレームが同時に開始します。最初にユーザーを検証してから、ユーザーをメイン アプリケーションに誘導したいと考えています。メインアプリケーションから呼び出しLoginform.javaています (つまりEditor.java)

java.awt.EventQueue.invokeLater(new Runnable() {

        public void run() {
             new Login().setVisible(true);
    {
         Editor x =   new Editor();
         x.setVisible(true);
    }
        }
    });
4

2 に答える 2

3

ログイン部分にモーダルダイアログ、つまり完了するまでブロックするダイアログを使用できます。

現時点では、両方のウィンドウが(おそらく)非モーダルであるため、両方がすぐに表示されるのを止めることはできません。

別の方法は、最初にログインウィンドウを表示し、ユーザーが正常にログインした後にのみメインウィンドウを作成することです。現在、コードEditorはログインが成功したかどうかを確認せずにを作成します。

于 2012-10-27T10:57:31.520 に答える
1

すべてのメニュー項目とツールバーボタンを非表示または無効にしてメインウィンドウを表示し、モーダルダイアログをログインフレームとして、親をメインウィンドウとして表示できます。ユーザーがログインすると、メインウィンドウですべてのものがアクティブになります。それ以外の場合は、ユーザーに間違ったクレデンシャルを入力したことを知らせ、両方のウィンドウを閉じます。

于 2012-10-27T10:59:26.160 に答える