swing应用中如何保存一个全局变量

http://bbs.csdn.net/topics/390520053

 

1、写一个Bean,里面存放所有全局的变量, 在不同界面进行切换的时候把这个bean进行传递。可以考虑使用 职责链模式。

主要是保证在界面切换中不能丢失bean和不能重新new 。 全局只new 一次 ,然后在程序中传来传去。。。。
想改变的时候就set下 想获取的时候就get下。。

2、Inhibitory大侠,如果用静态变量,如何调用呢,每次使用用new ,这样也不合适吧,不知道怎么弄,指点一下。。。

class MyClass {
    public static int myVararible = 10;
}
 
使用: int x = MyClass.myVararible;
3、我喜欢做桌面应用程序,感觉挺有挑战性的,之前也遇到过类似的问题,看到楼主写出来,也分享一下我的经验啦
/**
 * 全局类
 * @author guolw
 *
 */
public final class Global {
 
     
    /**
     * 存放多个登录用户,泛型可以使Map<String, Userinfo>
     */
    public static final Map<String, String> LOGIN_USERS = new HashMap<>();
     
     
    private Global(){
         
    }
     
}
 
     
    /**
     * 登录
     * @param userinfo
     */
    public void login(String userinfo){
        // 将登录的用户存放进去
        Global.LOGIN_USERS.put("userName""UserEntity");
    }
     
    public String getLoginUserByName(String name){
        return Global.LOGIN_USERS.get(name);
    }
 
说明:上面将Global类中的LoginUsers设计为一个public类型的,这样外界就可以随意拿到这个Map集合,然后执行Map所以的操作,另外一种设计是,将其private化,然后提供访问接口。

 

Inhibitory大侠,如果用静态变量,如何调用呢,每次使用用new ,这样也不合适吧,不知道怎么弄,指点一下。。。
Java code
 
?
1
2
3
4
5
class MyClass {
    public static int myVararible = 10;
}
 
使用: int x = MyClass.myVararible;
 
 

posted on 2015-07-26 16:52  alleyonine  阅读(601)  评论(0编辑  收藏  举报

导航