2012-02-09 23 views
0

私は、アプリケーションのユーザー二つの異なるタイプのための2つの異なるログインウィンドウを持つアプリケーションを持って、今私が設定する両方のLogin Windows上のオプションを持っているしたいものがクライアントであり、他は管理者であると言いますcheckboxのようなものがあり、というラベルがデフォルトのログインウィンドウとして設定されています。 ..設定方法Swingのデフォルトのオープニングウィンドウは?

これをどのように達成できますか?

.propertiesファイルを使用してデフォルトのウィンドウを設定できますか? (そしてどうやって?)

または最初に読み込まれ、最初にロードするデフォルトのGUIウィンドウを決定するクラスMain.java ??

私は第2の方法をお勧めしましたが、あなたの意見は歓迎されます。また、このタスクを達成するためのいくつかのコード例を提供してください。

答えて

4

両方のログインウィンドウにJCheckboxを追加します。

Preferences prefs = Preferences.userNodeForPackage(this); 
String prefWindow = prefs.get("PREF_WIND",null); 
if (prefWindow!=null) { 
    LoginWindow loginWindow = LoginWindow.valueOf(prefWindow); 
    switch(loginWindow) { 
    case ADMIN: 
     // switch to admin 
     break; 
    case CLIENT: 
     // switch to client 
     break; 
    } 
} else 
    // Default 
+0

グレート:あなたはあなたのアプリケーションをロードすると

private static enum LoginWindow { CLIENT, ADMIN; } ... Preferences prefs = Preferences.userNodeForPackage(this); if (client.getSetAsDefaultCheckbox().getValue()) prefs.put("PREF_WIND",LoginWindow.CLIENT.name()); else if (admin.getSetAsDefaultCheckbox().getValue()) prefs.put("PREF_WIND",LoginWindow.ADMIN.name()); 

を:ときに正常にユーザがログイン、チェックボックスの値を調べ、使用して優先順位を設定!良いことだ...良いことか悪いことがあれば、試して戻ってくるだろう。:) – Asif

+0

メソッドjava.util.prefs.PreferencesのuserNodeForPackageは与えられた型には適用できない。 必須:java.lang.Class が見つかりました:com.tcs.booth.gui.frames.Main 理由:実際の引数com.tcs.booth.gui.frames.Mainはjava.lang.Classに変換できませんメソッドの呼び出し変換 – Asif

+0

'Preferences Preferences = Preferences.userNodeForPackage(this);'ラインコンパイル..このコードは、 'Main.java'クラスのメソッドにコードを記述しています。 – Asif

関連する問題