如何在Swing中设置默认打开窗口?

时间:2012-02-09 17:42:15

标签: java swing jframe

我有一个应用程序,有两个不同类型的应用程序用户的两个不同的登录窗口,比如一个是客户端,另一个是管理员,现在我想要在Login窗口上都有一个选项来设置默认的打开窗口,例如checkbox标签为设置这是默认的登录窗口 ..

我怎样才能实现这个目标?

我可以使用.properties文件来设置默认窗口吗? (以及如何?)

或者,首先加载的Main.java类并决定首先加载的默认GUI窗口?

我更喜欢第二种方式......但欢迎您提出意见,也请提供一些示例代码来完成此任务。

1 个答案:

答案 0 :(得分:4)

在两个登录窗口上添加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