当前位置:文档之家› JAVA课程设计源程序

JAVA课程设计源程序

package javabigwork;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

publicclass LoginFrm extends JFrame implements ActionListener{

private JLabel lblTitle=new JLabel("欢迎进入家庭财务管理系统");

private JLabel lblName=new JLabel("用户名");

private JLabel lblPwd=new JLabel("密码");

private JTextField txtName=new JTextField();

private JPasswordField txtPwd=new JPasswordField();

private JButton btnOk=new JButton("用户登陆");

private JButton btnCancel=new JButton("退出系统");

private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

private String url = "jdbc:odbc:mydb";

privateint rowcount=0;

public LoginFrm(){

JPaneljp = (JPanel) this.getContentPane();

jp.setLayout(null);

jp.add(lblTitle);

lblTitle.setBounds(300, 50, 200, 50);

jp.add(lblName);lblName.setBounds(200, 100, 100, 20);

jp.add(txtName);txtName.setBounds(500, 100, 100, 20);

jp.add(lblPwd);lblPwd.setBounds(200, 150, 100, 20);

jp.add(txtPwd);txtPwd.setBounds(500, 150, 100, 20);

jp.add(btnOk);btnOk.setBounds(200, 220, 100, 20);

jp.add(btnCancel);btnCancel.setBounds(500, 220, 100, 20);

this.setTitle("家庭用户登陆");

this.setSize(800,400);

this.setVisible(true);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

btnOk.addActionListener(this);

btnCancel.addActionListener(this);

}

publicvoid actionPerformed(ActionEvent e) {

if(e.getSource() == btnOk){

String [][] rows = this.queryCustomers();

String s1=txtName.getText();

String s2=txtPwd.getText();

for(int i=0;i

if(s1.equals(rows[i][0])){

if(s2.equals(rows[i][1])){

JOptionPane.showMessageDialog(this, "用户名和密码正确

");

new CustomerFrm();

}

else

JOptionPane.showMessageDialog(this, "用户名或密码错误");

}

}

}

if(e.getSource() == btnCancel){

System.exit(0);

}

}

public String[][] queryCustomers() {

String[][] rows = null;

try {

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql = "select count(*) from admin";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

rowcount = rs.getInt(1);

rows = new String[rowcount][2];

sql = "select * from admin";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 2; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

} catch (Exception ex) {

ex.printStackTrace();

}

return rows;

}

publicstaticvoid main(String[] args){

new LoginFrm();

}

}

package javabigwork;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

publicclass CustomerFrm extends JFrame {

privatevoid initMenu(){

JMenuBar bar=new JMenuBar();

JMenu m1=new JMenu("系统功能");

JMenuItem m11=new JMenuItem("用户账单");

JMenuItem m13=new JMenuItem("类别查询");

JMenuItem m14=new JMenuItem("退出系统");

m11.addActionListener(new ActionListener() {

publicvoid actionPerformed(ActionEvent e) {

YonghuFrm_Clicked();

}

});

m13.addActionListener(new ActionListener() {

publicvoid actionPerformed(ActionEvent e){

SelectFrm_Clicked();

}

});

m14.addActionListener(new ActionListener() {

publicvoid actionPerformed(ActionEvent e){

exit_Clicked();

}

});

m1.add(m11);

m1.add(m13);

m1.add(m14);

bar.add(m1);

this.setJMenuBar(bar);

}

privatevoid exit_Clicked(){

if (JOptionPane.showConfirmDialog(this, "确认退出?", "退出系统",

JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)

== JOptionPane.YES_OPTION)

System.exit(0);

}

privatevoid YonghuFrm_Clicked(){

new YonghuFrm();

}

privatevoid SelectFrm_Clicked(){

new SelectFrm();

}

public CustomerFrm(){

JPaneljp = (JPanel) this.getContentPane();

initMenu();

this.setTitle("家庭用户账单查询");

this.setSize(800, 600);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

package javabigwork;

import javax.swing.*;

import javax.swing.table.DefaultTableModel;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

publicclass YonghuFrm extends JFrame{

private JTable table = null;

private String[] cols = { "姓名","性别","账单类型","年份","月份","费用"};

private JButton btnEdit=new JButton("刷新");

private JButton btnAdd=new JButton("添加");

private JButton btnDelete=new JButton("删除");

private CustomerDao CustomerDao = new CustomerDao();

privatevoid initTable() {

String[][] rows = CustomerDao.queryCustomer();

table = new JTable(rows, cols);

}

privatevoid updateTable(){

String[][] rows = CustomerDao.queryCustomer();

table.setModel(new DefaultTableModel(rows, cols));

}

public YonghuFrm(){

JPaneljp = (JPanel) this.getContentPane();

initTable();

JScrollPanejsp_table = new JScrollPane(table);

jp.add(jsp_table);

JPaneljp_top = new JPanel();

jp_top.add(btnEdit);

jp_top.add(btnAdd);

jp_top.add(btnDelete);

jp.add(jp_top, BorderLayout.NORTH);

this.setTitle("用户账单");

this.setSize(600, 400);

this.setVisible(true);

btnEdit.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e) {

update_Clicked();

}

});

btnAdd.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e) {

AddFrm_Clicked();

}

});

btnDelete.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e) {

btnDelete_Clicked();

}

});

}

privatevoid update_Clicked(){

updateTable();

}

privatevoid AddFrm_Clicked(){

new AddFrm();

}

privatevoid btnDelete_Clicked(){

int row = table.getSelectedRow();

if (row > -1) {

String name = (String) table.getValueAt(row, 0);

CustomerDao.deleteCustomerByname(name);

JOptionPane.showMessageDialog(this, "用户" + name + "记录删除成功!");

updateTable();

}

}

}

package javabigwork;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

publicclass AddFrm extends JFrame implements ActionListener{

JLabel lblName=new JLabel("姓名");

JLabel lblSex=new JLabel("性别");

JLabel lblYear=new JLabel("年份");

JLabel lblMonth=new JLabel("月份");

JLabel lblBill=new JLabel("账单类型");

JLabel lblFee=new JLabel("费用");

JTextField txtName=new JTextField();

JTextField txtSex=new JTextField();

JTextField txtYear=new JTextField();

JTextField txtMonth=new JTextField();

JTextField txtBill=new JTextField();

JTextField txtFee=new JTextField();

JButton btnAdd=new JButton("添加");

JButton btnCancel=new JButton("取消");

private CustomerDao CustomerDao = new CustomerDao();

public AddFrm(){

JPaneljp=(JPanel)this.getContentPane();

jp.setLayout(new GridLayout(7,2));

jp.add(lblName);jp.add(txtName);

jp.add(lblSex);jp.add(txtSex);

jp.add(lblYear);jp.add(txtYear);

jp.add(lblMonth);jp.add(txtMonth);

jp.add(lblBill);jp.add(txtBill);

jp.add(lblFee);jp.add(txtFee);

jp.add(btnAdd);jp.add(btnCancel);

this.setVisible(true);

this.setSize(500, 300);

this.setTitle("添加用户信息");

btnAdd.addActionListener(this);

btnCancel.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

ReturnFrm_Clicked();

}

});

}

publicvoid actionPerformed(ActionEvent e) {

if(e.getSource()==btnAdd){

String name=txtName.getText();

String sex=txtSex.getText();

int year=Integer.parseInt(txtYear.getText());

int month=Integer.parseInt(txtMonth.getText());

String bill=txtBill.getText();

int fee=Integer.parseInt(txtFee.getText());

CustomerDao.addCustomer(name, sex, bill,year, month , fee);

JOptionPane.showMessageDialog(this, "用户为" + name + "信息添加成功!");

}

}

privatevoid ReturnFrm_Clicked(){

new YonghuFrm();

}

}

package javabigwork;

import javax.swing.*;

import javax.swing.border.TitledBorder;

import javax.swing.table.DefaultTableModel;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

publicclass SelectFrm extends JFrame{

String[] y={"2012","2013","2014"};

String[] m={"全年","1","2","3","4","5","6","7","8","9","10","11","12"};

JComboBox yearBox=new JComboBox(y);

JComboBox monthBox=new JComboBox(m);

JLabel lblYear=new JLabel("年份");

JLabel lblMonth=new JLabel("月份");

JLabel lblSearchname=new JLabel("请输入用户姓名");

JLabel lblSearchtype=new JLabel("请输入账单类型");

JLabel lblMoney=new JLabel("请输入金额范围");

JLabel lblSign=new JLabel("——");

JTextField txtKeyword1=new JTextField(10);

JTextField txtKeyword2=new JTextField(10);

JTextField txtMoney1=new JTextField(5);

JTextField txtMoney2=new JTextField(5);

JButton btnSearch1=new JButton("查询");

JButton btnSearch2=new JButton("查询");

JButton btnSearch3=new JButton("查询");

JButton btnSearch4=new JButton("查询");

String[][] rows;String[][] rows1;

private CustomerDao CustomerDao = new CustomerDao();

private JTable table = null;

private String[] cols = { "姓名","性别","账单类型","年份","月份","费用"};

privatevoid initTable() {

String[][] rows = CustomerDao.queryCustomer();

table = new JTable(rows, cols);

}

public SelectFrm(){

JPanel container=(JPanel)this.getContentPane();

container.setLayout(null);

JPanel jp1=new JPanel();

jp1.setLayout(new FlowLayout());

jp1.setBorder(new TitledBorder("按时间查询"));

jp1.add(lblYear);jp1.add(yearBox);jp1.add(lblMonth);jp1.add(monthBox);j p1.add(btnSearch1);

JPanel jp2=new JPanel();

jp2.setLayout(new FlowLayout());

jp2.setBorder(new TitledBorder("按关键字查询"));

jp2.add(lblSearchname);jp2.add(txtKeyword1);jp2.add(btnSearch4);jp2.add (lblSearchtype);jp2.add(txtKeyword2);jp2.add(btnSearch2);

JPanel jp3=new JPanel();

jp3.setLayout(new FlowLayout());

jp3.setBorder(new TitledBorder("按金额范围查询"));

jp3.add(lblMoney);jp3.add(txtMoney1);jp3.add(lblSign);jp3.add(txtMoney2 );jp3.add(btnSearch3);

initTable();

JScrollPanejsp_table = new JScrollPane(table);

container.add(jp1);jp1.setBounds(0, 0, 800, 70);

container.add(jp2);jp2.setBounds(0, 70, 800, 70);

container.add(jp3);jp3.setBounds(0, 140, 800, 70);

container.add(jsp_table);jsp_table.setBounds(0, 220, 800, 400);

this.setVisible(true);

this.setSize(800,600);

this.validate();

btnSearch1.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

String y=(String)

yearBox.getItemAt(yearBox.getSelectedIndex());

String m=(String)

monthBox.getItemAt(monthBox.getSelectedIndex());

if(m=="全年"){

rows=CustomerDao.Selectyear(y);

table.setModel(new DefaultTableModel(rows, cols));

}else{

rows=CustomerDao.Selectyearmonth(y,m);

table.setModel(new DefaultTableModel(rows, cols));

}

}

});

btnSearch4.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

rows=CustomerDao.Selectkeywordname(txtKeyword1.getText());

table.setModel(new DefaultTableModel(rows, cols));

}

});

btnSearch3.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

int a=Integer.parseInt(txtMoney1.getText());

int b=Integer.parseInt(txtMoney2.getText());

rows=CustomerDao.Selectmoneyrange(a, b);

table.setModel(new DefaultTableModel(rows, cols));

}

});

btnSearch2.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

rows=CustomerDao.Selectkeywordtype(txtKeyword2.getText());

table.setModel(new DefaultTableModel(rows, cols));

}

});

}

}

package javabigwork;

import java.sql.*;

publicclass CustomerDao {

private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

private String url = "jdbc:odbc:mydb";

privatevoid executeUpdate(String sql) {

try {

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

cmd.executeUpdate(sql);

con.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

publicvoid addCustomer(String name, String sex,String bill, int year, int month,int fee) {

String sql = "insert into customer values('" + name + "','" + sex + "','"+bill+"'," + year + "," + month + ","+fee+")";

executeUpdate(sql);

}

publicvoid deleteCustomerByname(String name) {

String sql = "delete from customer where 姓名='"+ name +"'";

executeUpdate(sql);

}

/*public void updateCustomer(String name){

String sql = "update customer set where name='" + name +"'";

executeUpdate(sql);

}*/

public String[][] queryCustomer() {

String[][] rows = null;

try {

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql = "select count(*) from customer";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql = "select * from customer";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

} catch (Exception ex) {

ex.printStackTrace();

}

return rows;

}

public String[][] Selectyear(String year) {

String[][] rows=null;

try{

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql="select count(*) from customer where 年份="+Integer.parseInt(year)+" ";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql="select * from customer where 年份="+Integer.parseInt(year)+" ";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

}catch(Exception ex){

ex.printStackTrace();

}

return rows;

}

public String[][] Selectyearmonth(String year,String month){

String[][] rows=null;

try{

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql="select count(*) from customer ";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql="select * from customer where 年份="+Integer.parseInt(year)+" and 月份="+Integer.parseInt(month)+" ";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

}catch(Exception ex){

ex.printStackTrace();

}

return rows;

}

public String[][] Selectkeywordname(String s){

String[][] rows=null;

try{

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql="select count(*) from customer where 姓名='"+s+"'";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql="select * from customer where 姓名='"+s+"' ";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

}catch(Exception ex){

ex.printStackTrace();

}

return rows;

}

public String[][] Selectkeywordtype(String s){

String[][] rows=null;

try{

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql="select count(*) from customer where 账单类型='"+s+"'";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql="select * from customer where 账单类型='"+s+"' ";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

}catch(Exception ex){

ex.printStackTrace();

}

return rows;

}

public String[][] Selectmoneyrange(int a,int b){

String[][] rows=null;

try{

Class.forName(driver);

Connection con = DriverManager.getConnection(url);

Statement cmd = con.createStatement();

String sql="select count(*) from customer ";

ResultSetrs = cmd.executeQuery(sql);

rs.next();

int rowcount = rs.getInt(1);

rows = new String[rowcount][6];

sql="select * from customer where 费用 between "+a+" and "+b+" ";

rs = cmd.executeQuery(sql);

rowcount = 0;

while (rs.next()) {

for (int i = 1; i<= 6; i++)

rows[rowcount][i - 1] = rs.getString(i);

rowcount++;

}

con.close();

}catch(Exception ex){

ex.printStackTrace();

}

return rows;

}

}

相关主题
文本预览
相关文档 最新文档