您好,欢迎访问一九零五行业门户网

案例分享用java开发实现一个记账系统(代码全)

本文是纯代码,很全,用java开发实现的记账系统,由于时间原因也没有做过多的注解,如有不清楚的可以一起讨论,代码有不足之处也欢迎指出。
java记账系统
package com.ss.file;import java.io.*;public class fileio { private string filename = "tally.txt"; public fileio() { file file = new file(filename); if(!file.exists()) { try { file.createnewfile(); } catch (ioexception e) { e.printstacktrace(); } } } public void write(string data,boolean mode) { try { filewriter fw = new filewriter(filename,mode); bufferedwriter bw = new bufferedwriter(fw); bw.write(data); bw.close(); fw.close(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } public string read() { filereader fr; string line = ""; string filestr = ""; try { fr = new filereader(filename);//不能一行行的读 bufferedreader br = new bufferedreader(fr);//可以一行行的读效率高 while((line = br.readline()) != null) { filestr += line + "\n"; } br.close(); fr.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } return filestr; } public string getfilename() { return filename; } public void setfilename(string filename) { this.filename = filename; }}
package com.ss.oper;import java.util.vector;import com.ss.file.fileio;import com.ss.util.tool;public class operation { fileio io = new fileio(); public void add(string data) { io.write(data, true); } public void delete(string data) { io.write(data, false); } public void update(string data) { io.write(data, false); } /* * 全部查询 */ public vector select() { string str = io.read(); tool tool = new tool(); return tool.stringtovec(str); } /* * 条件查询 */ public vector select(string type,string remark) { vector vecdata = new vector(); vector vecall = select(); for(int i = 0;i < vecall.size();i++) { vector smallvec = (vector)vecall.get(i); boolean select = (smallvec.get(1).tostring().equals(type) || type.equals("")) && (smallvec.get(4).tostring().equals(remark) || remark.equals("")); if(select) { vecdata.add(smallvec); } } return vecdata; }}
package com.ss.util;import java.text.simpledateformat;import java.util.*; import com.ss.file.fileio;public class tool { public string gettime() { date date = new date(); simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss"); string str = sdf.format(date); return str; } /* * 将string转化成vector类型 */ public vector stringtovec(string data) { vector bigvec = new vector(); if(data != null && !data.equals("")) { string[] array = data.split("\n"); for(int i=0;i<array.length;i++) { string[] a = array[i].split(","); vector smallvec = new vector(); smallvec.add(a[0]); smallvec.add(a[1]); smallvec.add(a[2]); smallvec.add(a[3]); smallvec.add(a[4]); smallvec.add(a[5]); smallvec.add(a[6]); smallvec.add(a[7]); smallvec.add(a[8]); smallvec.add(a[9]); smallvec.add(a[10]); bigvec.add(smallvec); } } return bigvec; } /* * 获取下一个流水账号 */ public int getnewid() { int id = 1; fileio io = new fileio(); string data = io.read(); if(data != null && !data.equals("")) { vector bigvec = stringtovec(data); vector smallveclast = (vector)bigvec.get(bigvec.size()-1); string str = (string)smallveclast.get(0); id = integer.parseint(str) + 1; } return id; }}
package com.ss.view;import javax.swing.*;import javax.swing.table.defaulttablemodel; import com.ss.oper.operation;import com.ss.util.tool;import java.util.vector;import java.awt.*;import java.awt.event.componentevent;import java.awt.event.componentlistener;import java.awt.event.mouseevent;import java.awt.event.mouselistener;public class ui_t extends jframe{ private jcombobox<string> typecom = new jcombobox<string>(); private jcombobox<string> typecom2 = new jcombobox<string>(); private jtextfield moneytext = new jtextfield(); private jtextfield statetext = new jtextfield(); private jtextfield tjtext = new jtextfield(); private jtextfield kehutext = new jtextfield(); private jtextfield jishutext = new jtextfield(); private jtextfield jsmoneytext = new jtextfield(); private jtextfield jsfenchengtext = new jtextfield(); private jtextfield yinglitext = new jtextfield(); private jtextfield wanchengtext = new jtextfield(); private jtable table = new jtable(); private defaulttablemodel dtm = new defaulttablemodel(); private vector<string> colname = new vector<string>(); public ui_t(){ super("个人账目管理系统"); this.setbounds(300, 200, 1200, 800); init(); } public void init(){ jscrollpane p1 = new jscrollpane(settable()); final jsplitpane p2 = new jsplitpane(jsplitpane.vertical_split,setinfo(),p1); p2.addcomponentlistener(new componentlistener(){ @override public void componentresized(componentevent arg0) { p2.setpiderlocation(0.4); } @override public void componenthidden(componentevent arg0) { // todo auto-generated method stub } @override public void componentmoved(componentevent arg0) { // todo auto-generated method stub } @override public void componentshown(componentevent arg0) { // todo auto-generated method stub } }); this.add(p2); } public static void main(string[] args) { // todo auto-generated method stub new ui_t().setvisible(true); } public jpanel setinfo(){ jpanel jp = new jpanel(); jp.setlayout(null); jlabel label1 = new jlabel("类型"); label1.setbounds(10, 50, 30, 30); jp.add(label1); typecom.additem("生旦净末丑"); typecom.additem("齐怪了"); typecom.setbounds(50, 50, 60, 30); jp.add(typecom); jlabel label2 = new jlabel("客户名"); label2.setbounds(120, 50, 60, 30); jp.add(label2); kehutext.setbounds(160, 50, 60, 30); jp.add(kehutext); jlabel jishulabel = new jlabel("技术名"); jishulabel.setbounds(240, 50, 60, 30); jp.add(jishulabel); jishutext.setbounds(280, 50, 60, 30); jp.add(jishutext); jlabel dingdanlabel = new jlabel("订单金额"); dingdanlabel.setbounds(340, 50, 60, 30); jp.add(dingdanlabel); moneytext.setbounds(400, 50, 60, 30); jp.add(moneytext); jlabel jsjiagelabel = new jlabel("技术价格"); jsjiagelabel.setbounds(460, 50, 60, 30); jp.add(jsjiagelabel); jsmoneytext.setbounds(520, 50, 60, 30); jp.add(jsmoneytext); jlabel jsfenchenglabel = new jlabel("技术分成"); jsfenchenglabel.setbounds(580, 50, 60, 30); jp.add(jsfenchenglabel); jsfenchengtext.setbounds(640, 50, 60, 30); jp.add(jsfenchengtext); jlabel yinglilabel = new jlabel("盈利"); yinglilabel.setbounds(700, 50, 40, 30); jp.add(yinglilabel); yinglitext.setbounds(740, 50, 60, 30); jp.add(yinglitext); jlabel wanchenglabel = new jlabel("完成时间"); wanchenglabel.setbounds(820, 50, 60, 30); jp.add(wanchenglabel); wanchengtext.setbounds(880, 50, 60, 30); jp.add(wanchengtext); jlabel statelabel4 = new jlabel("状态信息"); statelabel4.setbounds(940, 50, 60, 30); statetext.setbounds(1000, 50, 40, 30); jp.add(statelabel4); jp.add(statetext); jbutton addbut = new jbutton("增加"); addbut.setbounds(400, 100, 60, 30); jp.add(addbut); addbut.addmouselistener(new mouselistener() { @override public void mousereleased(mouseevent arg0) { } @override public void mousepressed(mouseevent arg0) { // todo auto-generated method stub } @override public void mouseexited(mouseevent arg0) { } @override public void mouseentered(mouseevent arg0) { } @override public void mouseclicked(mouseevent arg0) { string type = (string)typecom.getselecteditem();//返回当前所选项 string kehuname=kehutext.gettext(); string jishuname=jishutext.gettext(); string dingdanmoney=moneytext.gettext(); string jishumoney=jsmoneytext.gettext(); string jishufencheng=jsfenchengtext.gettext(); string yingli=yinglitext.gettext(); string finnishdata=wanchengtext.gettext(); string remark = statetext.gettext(); tool tool = new tool(); string kaishitime = tool.gettime(); int id = tool.getnewid(); //修改部分 string data = id + "," + type + "," + kehuname + "," + jishuname + "," +dingdanmoney + ","+jishumoney + ","+jishufencheng + ","+yingli + ","+kaishitime+","+finnishdata+","+remark +"\n"; operation oper = new operation(); oper.add(data); select(); } }); jbutton xgbut = new jbutton("修改"); xgbut.setbounds(500, 100, 60, 30); jp.add(xgbut); xgbut.addmouselistener(new mouselistener() { @override public void mousereleased(mouseevent e) { // todo auto-generated method stub } @override public void mousepressed(mouseevent e) { // todo auto-generated method stub } @override public void mouseexited(mouseevent e) { // todo auto-generated method stub } @override public void mouseentered(mouseevent e) { // todo auto-generated method stub } @override public void mouseclicked(mouseevent e) { string data = changetabledata(); operation oper = new operation(); oper.update(data); } }); jbutton deletebut = new jbutton("删除"); deletebut.setbounds(600, 100, 60, 30); jp.add(deletebut); deletebut.addmouselistener(new mouselistener() { @override public void mousereleased(mouseevent e) { // todo auto-generated method stub } @override public void mousepressed(mouseevent e) { // todo auto-generated method stub } @override public void mouseexited(mouseevent e) { // todo auto-generated method stub } @override public void mouseentered(mouseevent e) { // todo auto-generated method stub } @override public void mouseclicked(mouseevent e) { int i = table.getselectedrow(); dtm.removerow(i); string data = changetabledata(); operation oper = new operation(); oper.delete(data); } }); jlabel chaxunlabel = new jlabel("按店铺查询"); chaxunlabel.setbounds(100, 200, 100, 30); jp.add(chaxunlabel); typecom2.additem(""); typecom2.additem("生旦净末丑"); typecom2.additem("齐怪了"); typecom2.setbounds(180, 200, 60, 30); jp.add(typecom2); jlabel tianjiaolabel = new jlabel("按条件查询"); tianjiaolabel.setbounds(280, 200, 100, 30); jp.add(tianjiaolabel); tjtext.setbounds(380,200,100,30); jp.add(tjtext); jbutton selectbut = new jbutton("查询"); selectbut.setbounds(500, 200, 60, 30); jp.add(selectbut); selectbut.addmouselistener(new mouselistener() { @override public void mousereleased(mouseevent e) { // todo auto-generated method stub } @override public void mousepressed(mouseevent e) { // todo auto-generated method stub } @override public void mouseexited(mouseevent e) { // todo auto-generated method stub } @override public void mouseentered(mouseevent e) { // todo auto-generated method stub } @override public void mouseclicked(mouseevent e) { string type = (string) typecom2.getselecteditem(); string remark = tjtext.gettext(); operation oper = new operation(); vector data = oper.select(type,remark); dtm.setdatavector(data, colname); table.setmodel(dtm); } }); return jp; } public jtable settable(){ colname.add("流水账号"); colname.add("类型"); colname.add("客户名"); colname.add("技术名"); colname.add("订单金额"); colname.add("技术价格"); colname.add("技术分成"); colname.add("盈利"); colname.add("开始时间"); colname.add("完成时间"); colname.add("状态信息"); operation oper = new operation(); vector data = oper.select(); dtm.setdatavector(data, colname); table.setmodel(dtm); return table; } /* * 从文件中重新读取一遍数据相当于刷新 */ public void select(){ operation oper = new operation(); vector data = oper.select(); dtm.setdatavector(data, colname); table.setmodel(dtm); } /* * 获取表格内容 */ public string changetabledata(){ string data = ""; int row = table.getrowcount(); for(int i=0;i<row;i++){ string line = ""; for(int j=0;j<11;j++){ line += dtm.getvalueat(i, j)+","; } line += "\n"; data += line; } return data; } }
相关文章:
js代码怎样实现记住账号密码
java发送post请求的实例代码分享
以上就是案例分享用java开发实现一个记账系统(代码全)的详细内容。
其它类似信息

推荐信息