swt 做界面时部分要点

//让窗口居中显示
		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, "失败提示", "用户名或密码错误,请确认后重新输入。。。");
			}
		}
	});
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值