📄 qukuan.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 + -