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

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

        在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;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
目 录 1.富客户端平台 1 1.1.概述 1 1.2.Eclipse RCP 建设风格——插件,扩展和扩展点 1 2.创建你的第一个RCP程序 1 2.1.创建一个RCP程序 2 2.2.启动你的RCP程序 5 2.3.应用程序VS 产品 6 3.应用程序里的插件ID 7 4.Actions的用法(菜单和工具栏) 7 4.1.概述 7 4.2.通过编码添加 8 4.3.由“扩展”方式向程序添加菜单和工具栏 11 5.添加组合键 19 5.1.概述 19 5.2.声明actions的组合键 19 6.系统托盘 24 7.外观 30 7.1.向程序中添加视图模板 31 7.2.向应用程序添加VIEW 36 7.3.向VIEW里添加action 40 8.和编辑器一起工作 51 8.1.概述 51 8.2.创建工程 51 8.3.创建并准备domain 模型 51 8.4.在视口中使用domain模型 57 8.5.加入编辑器 58 8.6.调用编辑器 66 8.7.向编辑器提供内容 70 9.对话框 71 9.1概述 71 9.2.预定义的对话框 71 9.2.1.概述 71 9.2.2.创建工程 71 9.2.3.声明action 71 9.2.4.调用对话框 71 9.3.用户自定义对话框 74 9.3.1.概述 74 9.3.2.创建工程 74 9.3.3.声明action 74 9.3.4.声明action 74 9.3.5.创建对话框 75 10.向导(wizard) 77 10.1.概述 77 10.2.例子 77 11.首选项 85 11.1 首选项 85 11.2.使用首选项 85 11.3.首选项页 91 12.添加状态条 97 12.1.安装状态条 97 12.2.共享状态条 98 13.透视 103 13.1.向你的程序中添加透视图 103 13.2.使透视图可选。 107 13.2.1.使透视图可由一个coolbar可选 107 13.2.2.使透视图可通过菜单选择。 109 14.进度报告 112 15.将外部类包含进你的程序 118 15.1.概述 118 15.2.向构建路径中添加jar 118 15.3.使jar在你的运行路径里有效 119 16.提示和策略 120 16.1.控制台日志 120 16.2.保存用户的布局 121 16.3.获得display 122 16.4.使用eclipse的“保存”action 123 16.5.装载模型 127 16.6.向你的程序添加错误日志视口 127 17.制造一个产品 129 17.1.概述 129 17.2.创建一个工程 130 17.3.测试你的产品 134 18.商标 134 18.1.欢迎页面 134 18.2.商标 135 18.3.风格化launcher 136 19.发布你的产品 137 20.发布引入外部jar的产品 141 20.1.整合外部jar和第三方库 141 Tip 142 21.1.创建一个新工程 144 21.2.创建一个产品 144 21.3.添加依赖性 145 21.4.向程序中添加action 146 21.5.创建一个帮助插件工程////原著写的不好 149 22.附录:配置文件 152 22.1.概述 152 22.2..project 153 22.3.Manifest.MF 154 23.附录:使用接口技术 154 23.2.Jface 154
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值