Friday, February 10, 2012

How to set Default opening window in Swing?


I have an application that has two different login windows for two different types of users of application, say one is client and the other is administrator , now i want to have an option on both the Login windows to set the default opening window, something like a checkbox having label as set this is as your default Login window ..



How can i achieve this??



May i use a .properties file to set the default window? (and How?)



Or, a Main.java class which loads first and decides the default GUI window to load first??



I preferred the 2nd way...but your views are welcomed, also please provide some example codes to accomplish this task.

1 comment:

  1. add a JCheckbox on both login windows. When the user logs in succesfully, look up the value of the checkboxes, set a preference using:

    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());


    When you load your application:

    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

    ReplyDelete