用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

事务跟踪系统

2017-12-07 作者: 柯侧耳倾听者举报

[java]代码库

package org.crazyit.transaction.ui.dialog;
 
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
 
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
 
import org.crazyit.transaction.model.Role;
import org.crazyit.transaction.model.User;
import org.crazyit.transaction.ui.UserPanel;
import org.crazyit.transaction.util.ApplicationContext;
import org.crazyit.transaction.util.ViewUtil;
 
/**
 * 添加用户界面
 * @author yangenxiong yangenxiong2009@gmail.com
 * @version  1.0
 * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
 * <br>Copyright (C), 2009-2010, yangenxiong
 * <br>This program is protected by copyright laws.
 */
public class AddUserDialog extends JDialog {
 
    //用户名
    private JLabel userNameLabel = new JLabel("用户名: ");
    private JTextField userName = new JTextField(10);
     
    //真实姓名
    private JLabel realNameLabel = new JLabel("真实姓名: ");
    private JTextField realName = new JTextField(10);
     
    //密码
    private JLabel passwordLabel = new JLabel("密码: ");
    private JPasswordField password = new JPasswordField(20);
     
    private JLabel roleLabel = new JLabel("角色: ");
    private JComboBox roleSelect = new JComboBox();
     
    //按钮
    private JButton confirmButton = new JButton("确定");
    private JButton cancelButton = new JButton("取消");
     
    private UserPanel userPanel;
     
    public AddUserDialog(UserPanel userPanel) {
        this.userPanel = userPanel;
        //用户名
        Box userNameBox = Box.createHorizontalBox();
        userNameBox.add(Box.createHorizontalStrut(30));
        userNameBox.add(this.userNameLabel);
        userNameBox.add(this.userName);
        userNameBox.add(Box.createHorizontalStrut(30));
        //真实姓名
        Box realNameBox = Box.createHorizontalBox();
        realNameBox.add(Box.createHorizontalStrut(17));
        realNameBox.add(this.realNameLabel);
        realNameBox.add(this.realName);
        realNameBox.add(Box.createHorizontalStrut(30));
        //密码
        Box passwdBox = Box.createHorizontalBox();
        passwdBox.add(Box.createHorizontalStrut(43));
        passwdBox.add(this.passwordLabel);
        passwdBox.add(this.password);
        passwdBox.add(Box.createHorizontalStrut(30));
        //角色选择
        Box roleSelectBox = Box.createHorizontalBox();
        roleSelectBox.add(Box.createHorizontalStrut(43));
        roleSelectBox.add(this.roleLabel);
        roleSelectBox.add(this.roleSelect);
        roleSelectBox.add(Box.createHorizontalStrut(30));
        //按钮
        Box buttonBox = Box.createHorizontalBox();
        buttonBox.add(this.confirmButton);
        buttonBox.add(Box.createHorizontalStrut(40));
        buttonBox.add(this.cancelButton);
         
        Box mainBox = Box.createVerticalBox();
        mainBox.add(Box.createVerticalStrut(20));
        mainBox.add(userNameBox);
        mainBox.add(Box.createVerticalStrut(10));
        mainBox.add(realNameBox);
        mainBox.add(Box.createVerticalStrut(10));
        mainBox.add(passwdBox);
        mainBox.add(Box.createVerticalStrut(10));
        mainBox.add(roleSelectBox);
        mainBox.add(Box.createVerticalStrut(10));
        mainBox.add(buttonBox);
        mainBox.add(Box.createVerticalStrut(20));
        this.add(mainBox); 
        this.pack();
        this.setResizable(false);
        this.setTitle("新建用户");
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
        this.setLocation((int)screen.getWidth()/4, (int)screen.getHeight()/5);
        initListeners();
    }
     
    //创建角色下拉
    private void createRoleSelect() {
        this.roleSelect.removeAllItems();
        List<Role> roles = ApplicationContext.roleService.getRoles();
        for (Role r : roles) {
            this.roleSelect.addItem(r);
        }
    }
     
    @Override
    public void setVisible(boolean b) {
        super.setVisible(b);
        if (b) createRoleSelect();
    }
 
    private void initListeners() {
        this.confirmButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                add();
            }
        });
        this.cancelButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                setVisible(false);
            }
        });
    }
     
    //返回密码字符串
    private String getPassword() {
        char[] passes = this.password.getPassword();
        StringBuffer password = new StringBuffer();
        for (char c : passes) {
            password.append(c);
        }
        return password.toString();
    }
     
    //添加用户
    private void add() {
        if (this.userName.getText().equals("") || this.realName.getText().equals("")
                || getPassword().equals("")) {
            ViewUtil.showWarn("请输入完成的用户信息", this);
            return;
        }
        try {
            //调用业务接口添加用户
            ApplicationContext.userService.addUser(getUser());
            this.setVisible(false);
            this.userPanel.readData();
            clean();
        } catch (Exception e) {
            e.printStackTrace();
            ViewUtil.showWarn(e.getMessage(), this);
        }
    }
     
    //清空界面元素
    private void clean() {
        this.userName.setText("");
        this.realName.setText("");
        this.password.setText("");
    }
     
    //从界面元素中得到各个值, 并创建User对象
    private User getUser() {
        String userName = this.userName.getText();
        String realName = this.realName.getText();
        String passwd = getPassword();
        Role role = (Role)this.roleSelect.getSelectedItem();
        User user = new User();
        user.setUSER_NAME(userName);
        user.setREAL_NAME(realName);
        user.setPASS_WD(passwd);
        user.setROLE_ID(role.getID());
        return user;
    }
}

[源代码打包下载]




网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...