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