swt 做界面时部分要点

来源:互联网 发布:淘宝天天特价是正品吗 编辑:程序博客网 时间:2024/06/07 18:58
//让窗口居中显示shell.setLocation((display.getClientArea().width-shell.getSize().x)/2, (display.getClientArea().height-shell.getSize().y)/2);
BackgroundMode  让标签中的字显示在图片背景上,但字下面只有图片背景,没有标签中的阴影
Link link = new Link(composite, SWT.NONE);//注册账号,找回密码用linklink.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 0