⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formuser.java

📁 呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜4444444444444444444
💻 JAVA
字号:
/**
 * -----------------------------------------------------------------------
 * 创建时间:2006年2月9日
 * 作    者:孙丰伟
 * 功	 能:管理系统帐号,要主要添加新的帐号与删除原有的帐号.
 * 说	 明:1.这是一个边界类,也就是系统与用户交互有界面,在这一层中要访问
 * 			mode包中的ManageAccount类中的实例方法saveAccount()实现新建一个
 * 			帐号到数据库中。添加的新帐号要及到的更新到左侧的树中 。新建帐
 * 			号如果已经存在则重新建立。
 * 			2.删除密码,调用ManageAccount类中的实例方法removeAccount()实现。			
 * ------------------------------------------------------------------------
 */
package cn.sunfengwei.employee.view;

import java.awt.*;
import java.awt.event.*;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.*;
import javax.swing.tree.*;

import cn.sunfengwei.employee.model.*;

public class FormUser extends JInternalFrame implements ActionListener{
	//创建几个JButton
	private JButton btnAdd,btnDelete,btnSave,btnExit;
	private Container contentPane;
	//树
	private JTree treeAccount;
	private DefaultTreeModel treeModel;
	private DefaultMutableTreeNode treeNode,node;
	//
	private JScrollPane treeScrollPane;
	private JSplitPane leftSplitPane;
	private JTextField txtUserId;  
	private JPasswordField newPassword,validatePassword;
	private UserDTO account;
	public FormUser(String title) {
		 super(title, 
	              false, //resizable
	              true, //closable
	              true, //maximizable
	              true);//iconifiable
	contentPane=this.getContentPane();
	
	treeScrollPane=new JScrollPane(this.setTree());
	leftSplitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,this.treeScrollPane,setAccountPanel());
	leftSplitPane.setDividerLocation(150);
	this.contentPane.add(leftSplitPane);
	this.setBounds(10,10,500,400);
	//加载工具栏
	this.contentPane.add(this.createToolBar(),BorderLayout.NORTH);
	}
	//创建工具栏JToolBar
	private JToolBar createToolBar()
	{
		JToolBar toolBar=new JToolBar();
		
		btnExit=new JButton(new ImageIcon("images\\exit.gif"));
		btnSave=new JButton(new ImageIcon("images\\save1.gif"));
		btnDelete=new JButton(new ImageIcon("images\\del.gif"));
		btnExit.setToolTipText("退出系统");
		btnSave.setToolTipText("保存新帐号");
		btnSave.setActionCommand("save");
		btnDelete.setActionCommand("delete");
		btnExit.setActionCommand("exit");
		
		btnSave.addActionListener(this);
		btnDelete.addActionListener(this);
		btnExit.addActionListener(this);
		
		
		toolBar.add(btnSave);
		toolBar.add(btnDelete);
		//加分隔条
		toolBar.addSeparator();
		toolBar.add(btnExit);
		return toolBar;
	}
	private JTree setTree()
	{
		treeModel=new DefaultTreeModel(getTreeNode());
		treeAccount=new JTree(treeModel);
		return treeAccount;
	}
	private JPanel setAccountPanel()
	{
		JPanel panel=new JPanel();
//		使用Box容器,设置登录窗体中的组件
		Box boxTitle=Box.createVerticalBox();
		boxTitle.add(Box.createVerticalStrut(5));
		boxTitle.add(new JLabel("用  户  ID:"));
		boxTitle.add(Box.createVerticalStrut(10));
		boxTitle.add(new JLabel("新  密  码:"));
		boxTitle.add(Box.createVerticalStrut(10));
		boxTitle.add(new JLabel("确认密码:"));

		txtUserId=new JTextField(16);  //20个字符	
		newPassword=new JPasswordField();
		
		validatePassword=new JPasswordField();
		
		Box boxUser=Box.createVerticalBox();
		boxUser.add(Box.createVerticalStrut(6));
		boxUser.add(txtUserId);
		boxUser.add(Box.createVerticalStrut(9));
		boxUser.add(newPassword); 
		boxUser.add(Box.createVerticalStrut(9));
		boxUser.add(validatePassword); 
		Box baseBox=Box.createHorizontalBox();
		baseBox.add(boxTitle);
		baseBox.add(Box.createHorizontalStrut(10));
		baseBox.add(boxUser);
		/*-----------------------------------------------*/
		FlowLayout flow=new FlowLayout();
		flow.setAlignment(FlowLayout.LEFT);
		panel.setLayout(flow);
		panel.add(baseBox);
		
		contentPane.validate();
		return panel;
	}
	
	//设置树的结点
	private DefaultMutableTreeNode getTreeNode()
	{
		//创建根结点
		treeNode=new DefaultMutableTreeNode("信息技术教学中心");
		UserDAO accountDAO=new UserDAO();
		UserDTO account=new UserDTO("","");
		for(UserDTO tempAccount : accountDAO.getAccounts(account))
		{
			treeNode.add(new DefaultMutableTreeNode(tempAccount));
			
		}
		return treeNode;
	}
	/* (非 Javadoc)
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	public void actionPerformed(ActionEvent e) {
		// TODO 自动生成方法存根
		String es=e.getActionCommand();
		if(es.equals("add"))
		{}
	    if(es.equals("save"))
		{
			this.saveUser();
		}
		
		//当删除一个用户时
		if(es.equals("delete"))
		{
			//取出当前被选中的结点
			if(treeAccount.getLastSelectedPathComponent()==null)
				return;
			node=(DefaultMutableTreeNode)treeAccount.getLastSelectedPathComponent();

			if(!node.isLeaf())
			{
				return;
			}
			//取出结点上的用户名,user
			String user=node.getUserObject().toString();
			
			//if(user.equals("DB培训中心")) return;
			if(node.isRoot()) return;
			
			int n=JOptionPane.showConfirmDialog(FormUser.this,"你真的要删除["+user+"]用户吗?","系统询问",JOptionPane.YES_NO_OPTION);
			if(n==JOptionPane.YES_OPTION)
			{
				UserDAO mAccount=new UserDAO();
				
				if(mAccount.removeAccountById(user))
				{
					//在数据库删除成功后,树上的结点也没应该存在了
					//下面的方法实现从树上移除一个结点
				node.removeFromParent();
				    //删除后在内存中完成了,但是在界面上没有反映,所以要刷新树模板
				treeModel.reload();
				}
			}
			
		}
		if(es.equals("exit"))
		{
		this.dispose();	
		}
			
	}
	
private void saveUser()
{
	UserDAO manageAccount=new UserDAO();
	if(txtUserId.getText().equals(""))
	{
		JOptionPane.showMessageDialog(this,"系统帐号不能为空,请输入!","系统提示",JOptionPane.INFORMATION_MESSAGE);
		newPassword.setText("");
		validatePassword.setText("");
		txtUserId.requestFocus(true);
		return;
	}
	
	//创建一个新帐号时,创建保证数据表中不存在
	if(manageAccount.isExistedAccount(txtUserId.getText().trim()))
	{
		JOptionPane.showMessageDialog(this,"新帐号在系统中已经存在,请重新输入!","系统提示",JOptionPane.INFORMATION_MESSAGE);
		newPassword.setText("");
		validatePassword.setText("");
		txtUserId.requestFocus(true);
		txtUserId.selectAll();
		return;
	}
	String newWord=new String(newPassword.getPassword());
	String validateWord=new String(validatePassword.getPassword());
	if(!newWord.equals(validateWord))
	{
		JOptionPane.showMessageDialog(this,"你输入的密码与确认密码不符,请重新输入!","系统提示",JOptionPane.ERROR_MESSAGE);
		newPassword.setText("");
		validatePassword.setText("");
		
		newPassword.requestFocus(true);
		newPassword.selectAll();
	}
	else
	{
		
		UserDTO account=new UserDTO();
		account.setUserName(txtUserId.getText().trim());
		account.setPassword(newWord);
		
		if(manageAccount.saveAccount(account))
		{
			JOptionPane.showMessageDialog(this,"新帐号创建成功,欢迎使用新帐号登录系统!","系统提示",JOptionPane.INFORMATION_MESSAGE);
			//如果保存成功后,要把新帐号加载树上
			treeNode.add(new DefaultMutableTreeNode(txtUserId.getText().trim()));
			txtUserId.setText("");
			newPassword.setText("");
			validatePassword.setText("");
			txtUserId.requestFocus(true);
			treeModel.reload();
		}
	}
}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -