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

📄 qukuan.java

📁 java实现的银行管理系统
💻 JAVA
字号:
package cn.hebut;

import javax.swing.JPanel;
import java.awt.Frame;
import java.awt.BorderLayout;
import javax.swing.JDialog;
import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Calendar;

import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JComboBox;

public class Qukuan extends JDialog {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JLabel jLabel = null;

	private JLabel jLabel1 = null;

	private JLabel jLabel2 = null;

	private JLabel jLabel3 = null;

	private JLabel jLabel4 = null;

	private JLabel jLabel5 = null;

	private JButton jok = null;

	private JButton jcancle = null;

	public JTextField jTextnum = null;

	public JTextField jTextname = null;

	public JPasswordField jPasswordField = null;

	public JTextField jTexmoney = null;

	public JComboBox jComboBoxtime = null;

	public JTextField jTexlixi = null;
	
	public static String qukuan[]=new String [7];  //  @jve:decl-index=0:

	private JLabel jLabel6 = null;

	private JLabel jLabel7 = null;

	private JLabel jLabel71 = null;

	private JLabel jLabel72 = null;
	
	public static String yuer;  //  @jve:decl-index=0:
	
	public static String zhanghu;
	
	public String lixi2;

	/**
	 * @param owner
	 */
	public Qukuan() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(502, 396);
		this.setTitle("取款");
		this.setContentPane(getJContentPane());
		//this.setModal(true);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel72 = new JLabel();
			jLabel72.setBounds(new Rectangle(369, 171, 60, 25));
			jLabel72.setText("必添");
			jLabel71 = new JLabel();
			jLabel71.setBounds(new Rectangle(369, 134, 61, 25));
			jLabel71.setText("必添");
			jLabel7 = new JLabel();
			jLabel7.setBounds(new Rectangle(369, 85, 54, 25));
			jLabel7.setText("必添");
			jLabel6 = new JLabel();
			jLabel6.setBounds(new Rectangle(369, 29, 105, 25));
			jLabel6.setText("五位数字号(必添)");
			jLabel5 = new JLabel();
			jLabel5.setBounds(new Rectangle(48, 267, 73, 31));
			jLabel5.setText("取款利息:");
			jLabel4 = new JLabel();
			jLabel4.setBounds(new Rectangle(48, 221, 73, 31));
			jLabel4.setText("取款日期:");
			jLabel3 = new JLabel();
			jLabel3.setBounds(new Rectangle(48, 126, 73, 31));
			jLabel3.setText("取款人姓名:");
			jLabel2 = new JLabel();
			jLabel2.setBounds(new Rectangle(48, 171, 73, 31));
			jLabel2.setText("取款金额:");
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(48, 73, 73, 31));
			jLabel1.setText("取款密码:");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(48, 24, 73, 31));
			jLabel.setText("取款卡号:");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabel1, null);
			jContentPane.add(jLabel2, null);
			jContentPane.add(jLabel3, null);
			jContentPane.add(jLabel4, null);
			jContentPane.add(jLabel5, null);
			jContentPane.add(getJok(), null);
			jContentPane.add(getJcancle(), null);
			jContentPane.add(getJTextnum(), null);
			jContentPane.add(getJTextname(), null);
			jContentPane.add(getJPasswordField(), null);
			jContentPane.add(getJTexmoney(), null);
			jContentPane.add(getJComboBoxtime(), null);
			jContentPane.add(getJTexlixi(), null);
			jContentPane.add(jLabel6, null);
			jContentPane.add(jLabel7, null);
			jContentPane.add(jLabel71, null);
			jContentPane.add(jLabel72, null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jok	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJok() {
		if (jok == null) {
			jok = new JButton();
			jok.setBounds(new Rectangle(168, 314, 91, 37));
			jok.setText("确认取款");
			jok.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					//检查获取的取款数据函数  
					if(check())
					{
						JOptionPane.showMessageDialog(null, "取款成功!");
						intodata();
						new Cunkuandan().setVisible(true);
						
					}
					//若检查无错误则获取文本中数据,存入数组
					//get();
					//取款单数据写入数据库
					
				}
			});
		}
		return jok;
	}
//	取款单数据写入数据库
	public void intodata()
	{
		Statement stmt=null;
		Connection conn=Sql.link();//连接数据库
			 try {
				
				stmt=conn.createStatement();
				stmt.execute("insert into 取款单号 (帐户号,密码,取款人姓名,取款金额,取款日期,取款利息,操作员)" +
						"values('"+qukuan[0]+"','"+qukuan[2]+"','"+qukuan[1]+"','"+qukuan[3]+"','"+qukuan[4]+"','"+qukuan[5]+"','"+Login.loginname+"')");
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			try {
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
	}
//	检查获取的取款数据函数 
   public boolean check()
   {
	   if(jTextnum.getText().equals("")||jPasswordField.getText().equals("")||jTextname.getText().equals("")||jTexmoney.getText().equals(""))
	   {
			JOptionPane.showMessageDialog(null, "必添项请填写完全!");
			return false;
	   }
		else
		{
			if(!Mainframe.numValid(jTextnum.getText()))
			{
				JOptionPane.showMessageDialog(null, "请输入5位的数字卡号!");
				return false;
			}
			else
			{
				if(valid(jTextnum.getText(),jPasswordField.getText()))//检查用户名和密码
				{
					if(!Mainframe.moneyValid(jTexmoney.getText()))
				      {
					    JOptionPane.showMessageDialog(null, "金额必须位数字且第一个数字不位0!");
					    return false;
				      }
				     else
				       {  //各项检查均正确获取文本框值并显示存款单页面
					      get();
					      if(updata())
					    	  return true;
					      else
					    	  return false;
					      
			             // new Cunkuandan().setVisible(true);
				       } 
				}
				else
				{
					 JOptionPane.showMessageDialog(null, "账户不存在或用户密码错误!");
					 return false;
				}
			}
		}
   }
   
   //取款数据更新到数据库
   public boolean updata()
   {
	   Statement stmt=null;
		Connection conn=Sql.link();//连接数据库
			 try {
				String qukuan=jTexmoney.getText();
				float a=Float.valueOf(qukuan);
				float b=Float.valueOf(yuer);
				float lixi=Float.valueOf(lixi2);
				float c=b+lixi-a;
				if(c<0)
				{
					 JOptionPane.showMessageDialog(null, "取款金额大于账户余额!");
					 return false;
				}
				else
				{
				String newyuer=Float.toString(c);
				stmt=conn.createStatement();
				stmt.execute("UPDATE 储户信息 SET 余额='"+newyuer+"'WHERE 账户号='"+zhanghu+"'");
				stmt.execute("UPDATE 储户信息 SET 存款日期='"+(String)jComboBoxtime.getSelectedItem()+"'WHERE 账户号='"+zhanghu+"'");
				}
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			try {
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			return true;
   }
   //检查取款用户名和密码
   public static  boolean valid(String s1,String s2)
   {
	   ResultSet rset=null;
		Statement stmt=null;
		Connection conn=Sql.link();//连接数据库
			 try {
				stmt=conn.createStatement();
				 rset=stmt.executeQuery("select * from 储户信息 where 账户号='"+s1+"'");
					if(rset.next())//验证用户名是否存在
					{
						String pass=rset.getString(3);
						zhanghu=rset.getString(1);
						yuer=rset.getString(8);
						if(s2.equals(pass))
						{  

							return true;
						}
						
					}
					else
					{
						return false;
					}
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			try {
				rset.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			
			return false;
   }
   public void get()
   {
	   qukuan[0]=jTextnum.getText();
	   qukuan[2]=jPasswordField.getText();
	   qukuan[1]=jTextname.getText();
	   qukuan[3]=jTexmoney.getText();
	   qukuan[4]=(String) jComboBoxtime.getSelectedItem();
	   qukuan[5]=jTexlixi.getText();
	   qukuan[6]=Login.loginname;
	   
   }
	/**
	 * This method initializes jcancle	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJcancle() {
		if (jcancle == null) {
			jcancle = new JButton();
			jcancle.setBounds(new Rectangle(346, 315, 91, 37));
			jcancle.setText("取消");
			jcancle.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					Qukuan.this.dispose();
				}
			});
		}
		return jcancle;
	}

	/**
	 * This method initializes jTextnum	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextnum() {
		if (jTextnum == null) {
			jTextnum = new JTextField();
			jTextnum.setBounds(new Rectangle(149, 27, 199, 27));
		}
		return jTextnum;
	}

	/**
	 * This method initializes jTextname	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextname() {
		if (jTextname == null) {
			jTextname = new JTextField();
			jTextname.setBounds(new Rectangle(149, 131, 145, 27));
		}
		return jTextname;
	}

	/**
	 * This method initializes jPasswordField	
	 * 	
	 * @return javax.swing.JPasswordField	
	 */
	private JPasswordField getJPasswordField() {
		if (jPasswordField == null) {
			jPasswordField = new JPasswordField();
			jPasswordField.setBounds(new Rectangle(149, 82, 163, 27));
		}
		return jPasswordField;
	}

	/**
	 * This method initializes jTexmoney	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTexmoney() {
		if (jTexmoney == null) {
			jTexmoney = new JTextField();
			jTexmoney.setBounds(new Rectangle(149, 172, 127, 27));
			jTexmoney.addFocusListener(new java.awt.event.FocusAdapter() {
				public void focusLost(java.awt.event.FocusEvent e) {
					String money=jTexmoney.getText();
					String num=jTextnum.getText();
					int num2=Integer.parseInt(num);
					String nowtime=(String) jComboBoxtime.getSelectedItem();
					//根据卡号从数据库获得上次存款时间到今天的时间算出利息
					ResultSet rset=null;
					Statement stmt=null;
					Connection conn=Sql.link();
					try {
						 stmt=conn.createStatement();
						 rset=stmt.executeQuery("select 存款日期 from 储户信息 where 账户号='"+num+"'");
						 if(rset.next())//验证卡号是否存在
							{
							 String oldtime=rset.getString(1);
							 System.out.print(oldtime);
							 String nowt[]=nowtime.split("-");
							 String oldt[]=oldtime.split("-");
							 int i=(Integer.parseInt(nowt[0])-Integer.parseInt(oldt[0]))*365+(Integer.parseInt(nowt[1])-Integer.parseInt(oldt[1]))*30+(Integer.parseInt(nowt[2])-Integer.parseInt(oldt[2]));
							float lixi= (float) ((float)(i)/365*0.0072*Integer.parseInt(money));
							System.out.print(lixi);
							 lixi2=Float.toString(lixi);
							jTexlixi.setText(lixi2);
							}
					} catch (SQLException e1) {
						// TODO 自动生成 catch 块
						e1.printStackTrace();
					}
					
					try {
						rset.close();
						stmt.close();
						conn.close();
						
					} catch (SQLException e1) {
						// TODO 自动生成 catch 块
						e1.printStackTrace();
					}
				}
			});
		}
		return jTexmoney;
	}

	/**
	 * This method initializes jComboBoxtime	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getJComboBoxtime() {
		if (jComboBoxtime == null) {
			jComboBoxtime = new JComboBox();
			jComboBoxtime.setBounds(new Rectangle(149, 221, 127, 27));
			Calendar  calCurrent   =Calendar.getInstance();   
			 int day=calCurrent.get(Calendar.DATE); 
			 int month=calCurrent.get(Calendar.MONTH)+1; 
			 int year=calCurrent.get(Calendar.YEAR); 
			 String time=year+"-"+month+"-"+day;
			 jComboBoxtime.addItem(time);

		}
		return jComboBoxtime;
	}

	/**
	 * This method initializes jTexlixi	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTexlixi() {
		if (jTexlixi == null) {
			jTexlixi = new JTextField();
			jTexlixi.setBounds(new Rectangle(149, 268, 127, 27));
			jTexlixi.setEditable(false);
		}
		return jTexlixi;
	}

}  //  @jve:decl-index=0:visual-constraint="147,24"

⌨️ 快捷键说明

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