个人财务管理系统_个人财务管理系统c

2020-02-28 其他范文 下载本文

个人财务管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“个人财务管理系统c”。

//引入包

import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;import java.text.DateFormat;import java.text.SimpleDateFormat;import org.apache.log4j.*;import java.util.Calendar;import java.util.Vector;import javax.swing.*;import javax.swing.table.DefaultTableModel;

public cla MainTest extends JFrame{

public static final long serialVersionUID = 1l;Vector v=new Vector();private JButton jb1,jb2,jb3,jb4,jb5,jtf3Listener;//按钮 private JScrollPane jsp;//滚动条 private JPanel jp1,jp2,jp3,jp4,jp5,jp6,jserver,jtable;//控件面板

private JLabel jl1,jl2,jl3,jl4,jl5;//标签 private JMenu jm1,jm2;//菜单 private JMenuItem ji1,ji2;//菜单子项 //表格

BankCard bc=new BankCard();//新建类BankCard boolean flag=false;private String version=“V1.5”;private JTextField jtf,jtf2,jtf3,jtf4,jtf5;//文本框

private JMenuBar jmb1;//菜单栏

DefaultTableModel model = new DefaultTableModel();String[] columnNames={“姓名”,“金额”,“日期”,“备注”};//创建日志记录器

private static Logger logger=Logger.getLogger(MainTest.cla.getName());

//主程序入口

public static void main(String[] args){ new MainTest();

//窗口初始化

public MainTest(){ }

//窗口初始化

this.setTitle(“个人财务管理系统”+version+“(内测版By ZQ)”);this.setSize(800,300);this.setLocation(450, 300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GridLayout Grid=new GridLayout(1,2);this.setLayout(Grid);this.setResizable(true);

jserver=new JPanel(new GridLayout(7,1));jtable=new JPanel(Grid);

//菜单栏构建

jmb1=new JMenuBar();jm1=new JMenu();jm1.setText(“帮助”);jm2=new JMenu();jm2.setText(“文件”);ji1=new JMenuItem();ji1.setText(“软件须知”);ji1.addActionListener(new MyBtnListener());ji2=new JMenuItem();ji2.setText(“退出”);ji2.addActionListener(new MyBtnListener());jb4=new JButton(“连接”);jb4.addActionListener(new MyBtnListener());jb5=new JButton(“断开”);jb5.addActionListener(new MyBtnListener());jm1.add(ji1);jm2.add(ji2);jmb1.add(jm2);jmb1.add(jm1);jmb1.add(jb4);jmb1.add(jb5);jserver.add(jmb1);

//信息录入框(Label+Meage)jp1=new JPanel();jl1=new JLabel(“姓 名:”);jtf=new JTextField(20);jp1.add(jl1);jp1.add(jtf);jserver.add(jp1);

jp2=new JPanel();jl2=new JLabel(“金 额:”);jtf2=new JTextField(20);jp2.add(jl2);jp2.add(jtf2);jserver.add(jp2);

jp3=new JPanel();jl3=new JLabel(“日 期:”);jtf3=new JTextField(14);jtf3Listener=new JButton(“选择”);jtf3Listener.addActionListener(new MyBtnListener());jp3.add(jl3);jp3.add(jtf3);jp3.add(jtf3Listener);jserver.add(jp3);

jp4=new JPanel();jl4=new JLabel(“备 注:”);jtf4=new JTextField(20);jp4.add(jl4);jp4.add(jtf4);jserver.add(jp4);

//服务器连接按钮

jp5=new JPanel();jl5=new JLabel(“服务器:”);jtf5=new JTextField(20);jtf5.setText(“localhost:1433”);jp5.add(jl5);jp5.add(jtf5);jserver.add(jp5);//信息检索 jp6=new JPanel();

jb1=new JButton(“添加”);/* * URL url=MainTest.cla.getResource(“20***7527_easyicon_net_128.png”);

Icon icon=new ImageIcon(url);jb1.setIcon(icon);*/ jb1.addActionListener(new MyBtnListener());jb2=new JButton(“查询”);jb2.addActionListener(new MyBtnListener());jb3=new JButton(“余额”);

jb3.addActionListener(new MyBtnListener());jp6.add(jb1);jp6.add(jb2);jp6.add(jb3);jserver.add(jp6);

//创建表格------model.setColumnIdentifiers(columnNames);JTable jt1 = new JTable(null, columnNames);

jt1=new JTable(model);model.addRow(new String[]{“”,“”,“”,“”});jt1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);jt1.setFillsViewportHeight(true);jsp=new JScrollPane(jt1);jtable.add(jsp);

this.add(jserver);this.add(jtable);this.setVisible(true);}

public void TableValue(String[] s){ model.addRow(s);} public cla BankCard { private int meage = 0;String Name=“”;String sql=“”;Date Date=null;int Money;int i=0;Connection conn=null;Statement stmt=null;ResultSet rs=null;PreparedStatement pstmt = null;ResultSetMetaData rsmd = null;Object =null;

public int Save(Person p){ //数据存储 try{

int sum=getSum();if(p.Moneysum){

meage=0;}else{ stmt = conn.createStatement();

sql= “insert into BankCard(Name,Money,Date,Meage)” +

“values('”+p.Name+“',”+p.Money+“,'”+p.Date+“','”+p.Meage+“')”;stmt.execute(sql);System.out.println(p);System.out.println();

System.out.println(“添加成功!”);meage=1;} }catch(SQLException e3){logger.error(e3);} return meage;} /* public void getMeage(String name,String date){ //检索对象信息

Person p=new Person();

} System.out.println();System.out.println(“---------------检索结 try{

sql=”Select * from BankCard Where Name=“+”'“+name+”' and

pstmt = conn.prepareStatement(sql.toString());

rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){

p.Name=rs.getString(“Name”);p.Date=rs.getString(“Date”);p.Meage=rs.getString(“Meage”);p.Money=rs.getInt(“Money”);Date=“+”'“+date+”'“;束!---------------”);

}catch(SQLException e3){logger.error(e3);} }*/ public void getMeage(String Meage,int idea){ //检索对象信息

Person p=new Person();model.setRowCount(0);

try{

if(Meage!=“null” && idea==1){ //输入null查询所有数据

sql=“Select * from BankCard Where

}else if(Meage!=”null“ && idea==2){

sql=”Select * from BankCard Where Name=“+”'“+Meage+”'“;sql=”Select * from BankCard“;

}else {

}

pstmt = conn.prepareStatement(sql.toString());rs = pstmt.executeQuery();rsmd = rs.getMetaData();Date=”+“'”+Meage+“'”;

if(rs.next()==false){JOptionPane.showMeageDialog(getContentPane(),“没有记录,请确认信息是否正确”,“警告!”,JOptionPane.WARNING_MESSAGE);}

do{

p.Name=rs.getString(“Name”);p.Date=rs.getString(“Date”);p.Meage=rs.getString(“Meage”);p.Money=rs.getInt(“Money”);model.addRow(new System.out.println(p);}while(rs.next());String[]{p.Name,String.valueOf(p.Money),p.Date,p.Meage});System.out.println();System.out.println(“---------------检索结束!---------------”);

}catch(SQLException e3){logger.error(e3);} } public int getSum(){ //获取余额

sql=“Select * from BankCard”;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){ Sum+=rs.getInt(“Money”);} }catch(SQLException e3){logger.error(e3);} pstmt = conn.prepareStatement(sql.toString());int Sum = 0;try{ System.out.println();return Sum;} public int getDay(){ //获取当月天数

Calendar aCalendar=Calendar.getInstance();int Day=aCalendar.get(Calendar.DATE);return Day;} public void Advise(){ //友情提示入口

int Sum = 0;

int Sum1= 0;int Day=getDay();try{ sql=“Select * from BankCard”;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){

Sum1+=rs.getInt(“Money”);

if(rs.getInt(“Money”)Sum1){ pstmt = conn.prepareStatement(sql.toString());JOptionPane.showMeageDialog(null,“友情提示,截至本月”+Day+“日您已花费:”+(-Sum)+“元----”+“当前余额:”+Sum1+“元”,“警告!”,JOptionPane.WARNING_MESSAGE);}

public boolean testJDBC(String testJDBC){ //建立服务器连接 boolean flag=true;

//[2]建立连接 try{ String sql=“jdbc:sqlserver://”+testJDBC+“;DataBaseName=MoneyManager”;conn=DriverManager.getConnection(sql,“Welcome”,“zhang1298”);

//conn=DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;DataBaseName=MoneyManager”,“sa”,“zhang1298”);System.out.println(“----——--------建立连接成功!------------”);try{ //[1]加载驱动

Cla.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);} }catch(ClaNotFoundException e1){logger.error(e1);} System.out.println();Advise();}catch(SQLException e){logger.error(e);flag=false;} return flag;} public boolean ExitJDBC(){ //断开服务器连接

boolean flag=true;

}

public cla FrameChange implements Runnable {

public void run(){ int x = MainTest.this.getX();try{

//关闭数据连接

if(null!= stmt){ stmt.close();} if(null!= conn){conn.close();} System.out.println(“-------------数据库关闭成功!-----------”);System.out.println();}catch(SQLException e2){logger.equals(e2);flag=false;} return flag;}

int y = MainTest.this.getY();

for(int i = 0;i

if((i & 1)== 0){

x += 3;

y += 3;

} else {

x-= 3;

y-= 3;

}

MainTest.this.setLocation(x, y);

try {

}

} Thread.sleep(5);// TODO Auto-generated catch block e.printStackTrace();} catch(InterruptedException e){ } }

//添加信息

if(arg0.getSource()==jb1){

public void actionPerformed(ActionEvent arg0){ try{ //按钮监听器

cla MyBtnListener implements ActionListener{ if(jtf.getText().length()!=0&&jtf3.getText().length()!=0&&jtf2.getText().length()!=0){

Person p=new Person();p.Name=jtf.getText();

p.Money=Integer.parseInt(jtf2.getText());p.Date=jtf3.getText();p.Meage=jtf4.getText();int

n=JOptionPane.showConfirmDialog(getContentPane(),“请确认信息,一旦添加无法更改”,“信息确认!”,JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.YES_OPTION){

int meage=bc.Save(p);if(meage==0){

JOptionPane.showMeageDialog(getContentPane(),“当前余额:”+bc.getSum()+“元,小于您的取款要求:”+-p.Money+“元,请检查信息是否错误!”,“警告!”,JOptionPane.WARNING_MESSAGE);

jtf2.setText(“”);

}else if(meage==1){

jtf.setText(“”);

jtf2.setText(“”);

jtf3.setText(“”);

jtf4.setText(“”);

}

} }else{

new FrameChange().run();

JOptionPane.showMeageDialog(getContentPane(),“请输入完整信息”,“警告!”,JOptionPane.WARNING_MESSAGE);

}

//查询信息 }else if(arg0.getSource()==jb2){

if(jtf.getText().length()==0 && jtf3.getText().length()==0){ //查询所有

bc.getMeage(“null”,0);

}else if(jtf.getText().length()==0&&jtf3.getText().length()!=0){ //按日期查询

bc.getMeage(jtf3.getText().toString(),1);

}else if(jtf.getText().length()!=0&&jtf3.getText().length()==0){ //按人名查询

bc.getMeage(jtf.getText().toString(),2);}

/*else if(jtf.getText().length()!=0&&jtf3.getText().length()!=0){ //按日期,人名查询

bc.getMeage(jtf.getText(), jtf3.getText());}*/ //查询余额

}else if(arg0.getSource()==jb3){

int Sum=bc.getSum();

JOptionPane.showMeageDialog(getContentPane(),“当前余额:”+Sum+“元”,“余额查询”,JOptionPane.WARNING_MESSAGE);

//连接服务器

}else if(arg0.getSource()==jb4){

flag=bc.testJDBC(jtf5.getText());

if(flag){

jtf5.setText(“已连接服务器”);jtf5.setEditable(false);jb4.setEnabled(false);JOptionPane.showMeageDialog(getContentPane(),“

}else{ 无法连接到数据库,服务器未打开或端口错误”,“警告”,JOptionPane.WARNING_MESSAGE);

} //断开连接

}else if(arg0.getSource()==jb5){

flag=bc.ExitJDBC();

if(flag){ JOptionPane.showMeageDialog(getContentPane(),“已断开服务器!”,“提示”,JOptionPane.WARNING_MESSAGE);

jtf5.setText(“localhost:1433”);jtf5.setEditable(true);jb4.setEnabled(true);JOptionPane.showMeageDialog(getContentPane(),“

}else{ 数据库断开失败,请重试”,“提示”,JOptionPane.WARNING_MESSAGE);

}

//(菜单)帮助-软件介绍

}else if(arg0.getSource()==ji1){ JOptionPane.showMeageDialog(getContentPane(),“软件名称:个人财务管理系统n软件版本:”+version+“(内测版本)n作 者:张强n更新时间:2015-5-24”,“软件简介”,JOptionPane.WARNING_MESSAGE);

;

cldMax=format.format(calendar1.getTime());while(!cld.equals(cldMax)){

//日期选择

}else if(arg0.getSource()==jtf3Listener){

try {

int i=0;

String[] poible =new String[31];DateFormat format = new

Calendar calendar=Calendar.getInstance();Calendar calendar1=Calendar.getInstance();String cld,cldMax;

cld=format.format(calendar.getTime());

//(菜单)文件-退出

}else if(arg0.getSource()==ji2){ int x=MainTest.this.getX();int y=MainTest.this.getY();

for(int i = 0;i

x=x-3;

y=y-2;

MainTest.this.setSize(x, y);

Thread.sleep(1);

}

System.exit(0);SimpleDateFormat(“yyyy-M-dd”);calendar.set(Calendar.DATE,calendar.getActualMinimum(Calendar.DATE));calendar1.set(Calendar.DATE,calendar.getActualMaximum(Calendar.DATE))

poible[i]=cld;

calendar.add(Calendar.DAY_OF_MONTH,1);

cld=format.format(calendar.getTime());

}

poible[i]=cld;String i=i+1;selectedValue=JOptionPane.showInputDialog(null,“请选择:”,“日期”, JOptionPane.INFORMATION_MESSAGE, null, poible, poible[0]).toString();

}

if(selectedValue!=“”){

jtf3.setText(selectedValue);}else{}

// TODO Auto-generated catch block

} catch(Exception e){ } }catch(Exception e){new FrameChange().run();JOptionPane.showMeageDialog(getContentPane(),“请先连接服务器”,“警告!”,JOptionPane.WARNING_MESSAGE);

} //System.out.println(“请先连接服务器”);} }

} }

public cla Person {

String Name=“”;

int Money;

String Date=null;

String Meage=null;public Person(){};

public Person(String name, int money,String date,String Meage){

}

public String toString(){ return “姓名:” + Name + “ 金额:” + Money + “ 日期:” + Date +“ 备super();Name = name;Money = money;this.Date = date;this.Meage=Meage;

注:”+ Meage;} }

《个人财务管理系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
个人财务管理系统
点击下载文档
相关专题 个人财务管理系统c 财务管理系统 个人财务管理系统c 财务管理系统
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文