EclipseRCP开发剪辑(3)--为RCP程序加入登陆窗口

本文介绍了如何在Eclipse RCP程序中实现用户登录功能。通过创建一个系统上下文类SuperContext,采用单例模式存储用户信息和状态。接着详细讲解了登录窗口的设计,包括自定义TitleAreaDialog子类LoginDialog,设置对话框属性和内容,以及利用LayoutUtil的centerShell方法使窗口居中。最后阐述了RCP应用程序中登录验证的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在RCP程序主窗口创建之前就需要对用户的身份进行验证,我们知道, RCP程序运行总是从入口对象开始的,所以要将验证用户的部分放在该类中,即Application.java 类中。

       在讨论如何具体实现登陆验证之前,我们首先应该考虑这样一个问题,即如何判断一个用户的登陆状态?在此,可以设计一个系统的上下文类SuperContext.java,其采用单例模式,即只允许系统运行后创建一个该类的实例,在该类中可以保存用户信息、登陆状态和一些其它的有用信息。

1、SuperContext.java

package  com.winscad.login;

import  com.winscad.pojo.system.UserListBean;

public   class  SuperContext  {
    
private UserListBean userListBean;
    
private String viewID;
    
private String deviceID = null;
    
//构造方法为private
    private SuperContext(){
        
    }

    
//单例模式的应用
    private static SuperContext context = null;
    
public static SuperContext getInstance(){
        
if(context == null){
            context 
= new SuperContext();
        }

        
return context;
    }

    
//保存登陆状态属性
    private boolean bLogin = false;
    
    
//是否已登陆
    public boolean isLogin(){
        
return bLogin;
    }

    
    
//设置登陆状态
    public void setLogin(boolean login){
        bLogin 
= login;
    }

    
//保存用户信息
    public void setUserListBean(UserListBean userListBean){
        
this.userListBean = userListBean;
    }
    
    
public UserListBean getUserListBean(){
        
return userListBean;
    }


    
//保存用户当前打开的视图ID
    public String getViewID() {
        
return viewID;
    }

    
public void setViewID(String viewID) {
        
this.viewID = viewID;
    }

    
    
//用于在直放站管理中用户点击某个直放站到参数维护时保存deviceID
    public String getDeviceID(){
        
return deviceID;
    }

    
public void setDeviceID(String deviceID){
        
this.deviceID = deviceID;
    }

}

 2、登陆窗口的实现

此登陆窗口继承自TitleAreaDialog,这是我们在Eclipse中经常见到的一种对话框,如下图所示:

它可以很容易的让我们实现设置图标,错误提示等功能。只要实现它的相关方法即可。

LoginDialog.java

package  com.winscad.login;
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值