Как установить открывающееся окно по умолчанию в Swing? - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть приложение, которое имеет два разных окна входа в систему для двух разных типов пользователей приложения, скажем, одно из них клиент , а другое администратор , теперь я хочу иметь опция в обоих окнах Login для установки открываемого окна по умолчанию, что-то вроде checkbox с меткой , устанавливаемой в качестве окна входа по умолчанию ..

Как мне этого добиться?

Можно ли использовать файл .properties для установки окна по умолчанию? (и как?)

Или класс Main.java, который загружается первым и решает, что окно графического интерфейса по умолчанию загружать первым ??

Я предпочел 2-й способ ... но ваши мнения приветствуются, также, пожалуйста, предоставьте несколько примеров кодов для выполнения этой задачи.

1 Ответ

4 голосов
/ 09 февраля 2012

добавить JCheckbox в оба окна входа в систему. Когда пользователь успешно войдет в систему, посмотрите значение флажков, установите предпочтение, используя:

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

При загрузке приложения:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...