//让窗口居中显示
        shell.setLocation((display.getClientArea().width-shell.getSize().x)/2,
                (display.getClientArea().height-shell.getSize().y)/2);
        
BackgroundMode  让标签中的字显示在图片背景上,但字下面只有图片背景,没有标签中的阴影

Link link = new Link(composite, SWT.NONE);//注册账号,找回密码用link
        link.setBounds(396, 261, 63, 17);
        link.setText("<a>注册账号</a>");

        Link link_1 = new Link(composite, 0);
        link_1.setText("<a>找回密码</a>");
        link_1.setBounds(396, 308, 63, 27);

Button btnCheckButton = new Button(composite, SWT.CHECK);//记住密码用
CheckButton

//面板移动
composite.addMouseMoveListener(new MouseMoveListener() {public void mouseMove(MouseEvent e) {//鼠标移动的时候
        if(isDown){//说明鼠标按下去的时候,所有当鼠标移动的时候,要跟着走
             //获取此时的光标位置
            shell.setLocation(shell.getLocation().x+e.x-x,shell.getLocation().y+e.y-y);
        }
    }
});                                         composite.addMouseListener(new MouseAdapter() {

            public void mouseDown(MouseEvent e) {//鼠标按下的时候

                isDown=true;
                x=e.x;
                y=e.y;
            }

            public void mouseUp(MouseEvent e) {//鼠标松开的时候
                isDown=false;
            }
        });    

//关闭按钮
lblNewLabel.addMouseListener(new MouseAdapter() {
    public void mouseDown(MouseEvent e) {//鼠标按下
        lblNewLabel.setImage(SWTResourceManager.getImage(qqdenglu.class, "/images/btn_close_down.png"));
            }

    public void mouseUp(MouseEvent e) {//鼠标松开
        if(MessageDialog.openConfirm(shell, "关闭提示", "客观不多玩会")){
            shell.close();//shell.dispose;
        }
    }
});

composite.addMouseTrackListener(new MouseTrackAdapter() {
    public void mouseExit(MouseEvent e) {//鼠标移开
        lblNewLabel.setImage(SWTResourceManager.getImage(qqdenglu.class, "/images/btn_close_normal.png"));
    }

    public void mouseHover(MouseEvent e) {//鼠标移上
        lblNewLabel.setImage(SWTResourceManager.getImage(qqdenglu.class, "/images/btn_close_highlight.png"));
    }
});



//项目一运行,必须先查看注册表中有没有以前记住过的用户名和密码
    Map<String,String>map=RegisterUtil.getAll();
    if(map!=null && map.size()>0){//说明有记录
        Set<String>keys=map.keySet();//用户名
        for(String key:keys){
            //添加到用户下拉列表中
            combo.add(key);
        }
        combo.select(0);//默认选择第一个
        btnCheckButton.setSelection(true);//自动选中记住密码
        //密码框显示第一个账号的密码
        text_1.setText(map.get(combo.getItem(0)));
    }

    //当用户名输入框失去焦点时
    combo.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e){
            //获取当前的用户名
            String uname=combo.getText().trim();
            //查看注册表中是否存在
            if(map!=null && map.size()>0){
                if(map.containsKey(uname)){//如果存在则将用户的密码直接显示在密码框,且必须将记住密码勾上
                    text_1.setText(map.get(uname));
                    btnCheckButton.setSelection(true)
                }else{
                    text_1.setText("");
                    btnCheckButton.setSelection(false);
                }
            }else{
                text_1.setText("");
                btnCheckButton.setSelection(false);
            }
        }
    });

    //点击登录
btnNewButton.addSelectionListener(new SelectionAdapter() {

    public void widgetSelected(SelectionEvent e) {
        String uname=combo.getText().trim();
        String pwd=text_1.getText().trim();
        //查询数据库
        DBHelper db=new DBHelper();
        String sql="select aid,aname,pwd,photo from adminInfo where aid=? and pwd=?";
        List<Object>params=new ArrayList<Object>();
        params.add(uname);
        params.add(pwd);

        Map <String,String> map=db.find(sql, params);
        if(map!=null&&map.size()>0){//说明根据用户输入的用户名和密码能够在数据库中查到相对应的数据,则说明他已经是注册的用户
            //判断是否需要记住用户名和密码
            if(btnCheckButton.getSelection()){//如果需要记住,则写入注册表
                Map<String,String> map1=new HashMap<String,String>();
                map1.put(uname, pwd);
                RegisterUtil.add(map1);
            }else{
                RegisterUtil.remove(uname);
            }
            QQMenu menu=new QQMenu();
            shell.close();
            menu.open();
        }else{
            MessageDialog.openError(shell, "失败提示", "用户名或密码错误,请确认后重新输入。。。");
            }
        }
    });
}

swt 做界面时部分要点相关推荐

  1. Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面

    目录 背景 演示及代码 总结 背景 有的时候要调用三方的库,能够比较简单的实现一些酷炫的效果.这里特别是前端的酷炫效果! 如果在Qt中,某个地方,能小范围使用前端Qt的效果,辣么,将会是一个多么有意思 ...

  2. python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明的示例代码...

    使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...

  3. python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明

    使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...

  4. 糟糕界面集锦—界面设计考虑要点

    href="uishame.files/filelist.xml" rel="File-List" /> href="uishame.files ...

  5. SAP QM初阶事务代码QA11对检验批做UD时出现很多UD Code的选择集?

    SAP QM初阶事务代码QA11对检验批做UD时出现很多UD Code的选择集? 1,检验批890000000105,检验类型是89,它是一个使用QA01创建的检验批. 2, 执行事务代码QA11对该 ...

  6. linux异常(九):Linux虚拟机启动异常/打不开 位-000005.vmdk”或它所依赖的某个快照磁盘 | 做映射时提示:读取卷信息时出错 请选择其他磁盘文件

    前言 虚拟机被转移到另一台电脑使用,或者非正常关闭,都可能导致这个错误. 究其原因: 虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失 ...

  7. 记录webView接入h5界面时,调起相册、文件、相机无效的解决办法

    记录webView接入h5界面时,调起相册.文件.相机无效的解决办法. 在开发项目时,接入一个h5界面.使用webview时,发现界面显示正常,但是按钮不论怎么点都无效,但是m站和ios都正常.后来上 ...

  8. ironpython 教程_「ironpython」VS2017 IronPython做界面

    本人开始做毕设了,但老师说工具要有界面,所以就开始找Python做界面的东西--之前做过C#的界面,脱拉拽很快界面就完成了,后来我查了下IronPython是用C#写的python解释器,也可以脱拉拽 ...

  9. python程序如何做界面_python是如何写界面程序的?

    展开全部 python做界面2113还是用PYQT吧 PYQT支持PY2和PY3 wxpython仅仅支5261持PY2 而python自带的4102tkinter实在是很难1653弄#!/usr/b ...

最新文章

  1. SURF算法与源码分析、上
  2. 网络流24题-魔术球问题
  3. Android 70道面试题汇总不再愁面试
  4. Java 中的线程安全的类
  5. mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离
  6. 复杂度及圈复杂介绍介绍
  7. 论文笔记--基于 FCM 聚类的跨模态人物图像标注方法-2015
  8. simpana oracle,华为认证云运维专家(HCIE-CDO)
  9. k短路-洛谷P2483 [SDOI2010]魔法猪学院
  10. ModelSerializer序列化(Apiview)
  11. vue中如何实现pdf文件预览?
  12. c语言笔试面试大全,C语言基础笔试题
  13. 不忘来时路 心系梦归处
  14. codeforces 558 D Guess Your Way Out! II
  15. Pdf转Word用Python轻松实现
  16. windows 查看电脑开关机时间
  17. ESP8266 WIFI kill 2021版教程(小白0基础)
  18. php 图片生成vr_vr全景技术难吗?vr全景技术原理和应用讲解
  19. Designing Network Design Spaces
  20. JNI定位错误 ndk-stack

热门文章

  1. sqlmap之tamper脚本
  2. adc 采样时间 采样周期数 采样频率计算(以stm32为例)
  3. 【数据说第九期】如何分析用户行为数据,来驱动业务增长?
  4. ​华为麒麟1020首曝光;全球首款 5G 扩展现实平台发布;英特尔将开拓“全硅”市场;京东周伯文掌舵,申元庆出局……...
  5. MonoX被偷袭?快准狠直击命门
  6. Globalsign和Symantec SSL证书哪家好
  7. 本科生毕业设计选题——计算机类
  8. 路由器交换机软件测试,你真的懂集线器、交换机、路由器之间的区别吗?
  9. 网络流算法学习笔记——最大流问题基本概念和Ford-Fulkerson方法(标号法C++实现)
  10. 2022最新综述 | 面向大规模场景的小目标检测:综述和 benchmark