首先根据数据库的内容创建一个model,赋予所有键名,并获得get和set方法,为了以后检查方便,最好再设置toString方法
package com.gjp.Model;
public class Model {
private int zwid;// id
private String flname;// 分类名称
private double money;// 金额
private String zhangHu;// 账户名称
private String createtime;// 创建时间
private String description;
public int getZwid() {
return zwid;
}
public void setZwid(int zwid) {
this.zwid = zwid;
}
public String getFlname() {
return flname;
}
public void setFlname(String flname) {
this.flname = flname;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public String getZhangHu() {
return zhangHu;
}
public void setZhangHu(String zhangHu) {
this.zhangHu = zhangHu;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Model [zwid=" + zwid + ", flname=" + flname + ", money=" + money + ", zhangHu=" + zhangHu
+ ", createtime=" + createtime + ", description=" + description + "]";
}
}
链接数据库使用到JDBCUtils工具类,这里使用使用工具类进行稍微的修改,因为要存储汉子,utf8格式
package com.gjp.Utils;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class JDBCUtils {
public static final String DRIVER_CLASS_NAME = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/gjp?useUnicode=true&characterEncoding=UTF-8";
public static final String USERNAME = "root";
public static final String PASSWORD = "liuyang";
private static BasicDataSource dataSource = new BasicDataSource();
static {
dataSource.setDriverClassName(DRIVER_CLASS_NAME);
dataSource.setUrl(URL);
dataSource.setUsername(USERNAME);
dataSource.setPassword(PASSWORD);
}
public static DataSource getDataSource() {
return dataSource;
}
}
这个程序主要是实现对数据库的增删改查,在Dao层中实现数据库的操作
package com.gjp.Dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.gjp.Model.Model;
import com.gjp.Utils.JDBCUtils;
public class ZhangWuDao {
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
public List<Model> selectAll() throws SQLException{
String sql = "select * from gjp_zhangwu";
return qr.query(sql, new BeanListHandler<Model>(Model.class));
}
public List<Model> select(String start,String end) throws SQLException{
String sql = "select * from gjp_zhangwu where createtime between ? AND ?";
Object[] params = {start,end};
return qr.query(sql, new BeanListHandler<Model>(Model.class), params);
}
public void edit(int id,String flname,Double money,String zhangHu,String time,String des) throws SQLException{
String sql = "insert into gjp_zhangwu values(?,?,?,?,?,?)";
Object[] param = {id,flname,money,zhangHu,time,des};
qr.update(sql, param);
}
public void delAll() throws SQLException{
String sql = "delete from gjp_zhangwu";
qr.update(sql);
}
public void delById(int id) throws SQLException{
String sql = "delete from gjp_zhangwu where zwid = ?";
qr.update(sql,id);
}
public void add(String flname,double money,String zhangHu,String time,String des) throws SQLException{
String sql = "insert into gjp_zhangwu(flname,money,zhangHu,createtime,description) values (?,?,?,?,?)";
Object[] param = {flname,money,zhangHu,time,des};
qr.update(sql, param);
}
}
在Service层中实现对数据库的各种操作
package com.gjp.Service;
import java.sql.SQLException;
import java.util.List;
import com.gjp.Dao.ZhangWuDao;
import com.gjp.Model.Model;
public class ZhangWuService {
ZhangWuDao zhangwuDao = new ZhangWuDao();
public List<Model> selectAll() throws SQLException{
return zhangwuDao.selectAll();
}
public List<Model> select(String start,String end) throws SQLException{
return zhangwuDao.select(start, end);
}
public void edit(int id,String flname,Double money,String zhangHu,String time,String des) throws SQLException{
zhangwuDao.edit(id, flname, money, zhangHu, time, des);
}
public void delAll() throws SQLException{
zhangwuDao.delAll();
}
public void delById(int id) throws SQLException{
zhangwuDao.delById(id);
}
public void add(String flname,double money,String zhangHu,String time,String des) throws SQLException{
zhangwuDao.add(flname, money, zhangHu, time, des);
}
}
接下来就是各个界面的具体内容
1.主页面 这里没有什么要说的,就是一个简单的可以选择功能的跳转窗口
package com.gjp.View;
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.Toolkit;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.File;
import java.awt.event.ActionEvent;
public class Index {
private JFrame frame;
private final JLabel lblNewLabel = new JLabel("");
/**
* Launch the application.
*/
public static void index() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Index window = new Index();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Index() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setTitle("管家婆记账系统");
frame.setResizable(false);
frame.setBounds(550, 200, 892, 589);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel label = new JLabel("欢迎进入管家婆记账软件");
label.setForeground(Color.DARK_GRAY);
label.setFont(new Font("宋体", Font.PLAIN, 45));
label.setBounds(174, 42, 532, 55);
frame.getContentPane().add(label);
JButton btnNewButton = new JButton("好的");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Function function = new Function();
function.function();
frame.dispose();
}
});
btnNewButton.setFont(new Font("宋体", Font.PLAIN, 30));
btnNewButton.setBounds(701, 476, 171, 55);
frame.getContentPane().add(btnNewButton);
lblNewLabel.setIcon(new ImageIcon("F:\\Eclipse_Java\\gjp.jpg"));
lblNewLabel.setBounds(0, 0, 885, 553);
frame.getContentPane().add(lblNewLabel);
}
}
2.查询窗口,这个窗口实现了查询和条件查询,具体的实现过程就是在窗口中加一个JTable插件在其中设置他的model值,条件查询时,修改其中的model即可,注意这个窗口中查出来的内容不能修改。
package com.gjp.View;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.sound.midi.SysexMessage;
import javax.swing.ImageIcon;
import java.awt.Font;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import com.gjp.Model.Model;
import com.gjp.Service.ZhangWuService;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JTable;
import java.awt.event.ActionListener;
import java.awt.event.WindowStateListener;
import java.awt.event.ActionEvent;
public class Check {
private String[] Names = { "id", "用途", "金额", "账户", "创建时间", "说明" };
private JFrame frame;
ZhangWuService zhangwu = new ZhangWuService();
List<Model> list1 = zhangwu.selectAll();
private JTextField textField;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_1;
private JTextField textField_4;
private JTextField textField_5;
private Object[][] data = new Object[list1.size()][Names.length];
private JTable table;
private String s1 = null;
private String s2 = null;
private String s3 = null;
private String s4 = null;
private String s5 = null;
private String s6 = null;
private isNumber isnumber = new isNumber();
/**
* Launch the application.
*/
public static void check() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Check window = new Check();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*
* @throws SQLException
*/
public Check() throws SQLException {
initialize();
}
/**
* Initialize the contents of the frame.
*
* @throws SQLException
*/
private void initialize() throws SQLException {
frame = new JFrame();
frame.setResizable(false);
frame.setBounds(550, 200, 892, 589);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel label = new JLabel("输入时间筛选:");
label.setFont(new Font("宋体", Font.PLAIN, 25));
label.setBounds(44, 47, 184, 30);
frame.getContentPane().add(label);
textField = new JTextField();
textField.setFont(new Font("宋体", Font.PLAIN, 20));
textField.setBounds(243, 48, 39, 27);
frame.getContentPane().add(textField);
textField.setColumns(10);
JLabel label_1 = new JLabel("年");
label_1.setFont(new Font("宋体", Font.PLAIN, 20));
label_1.setBounds(280, 50, 32, 25);
frame.getContentPane().add(label_1);
textField_2 = new JTextField();
textField_2.setFont(new Font("宋体", Font.PLAIN, 20));
textField_2.setColumns(10);
textField_2.setBounds(306, 48, 39, 27);
frame.getContentPane().add(textField_2);
JLabel label_2 = new JLabel("月");
label_2.setForeground(Color.BLACK);
label_2.setFont(new Font("宋体", Font.PLAIN, 20));
label_2.setBounds(349, 50, 32, 25);
frame.getContentPane().add(label_2);
textField_3 = new JTextField();
textField_3.setFont(new Font("宋体", Font.PLAIN, 20));
textField_3.setColumns(10);
textField_3.setBounds(371, 48, 39, 27);
frame.getContentPane().add(textField_3);
JLabel label_3 = new JLabel("日");
label_3.setFont(new Font("宋体", Font.PLAIN, 20));
label_3.setBounds(412, 50, 32, 25);
frame.getContentPane().add(label_3);
JLabel lblNewLabel_1 = new JLabel("20");
lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 20));
lblNewLabel_1.setBounds(222, 53, 32, 18);
frame.getContentPane().add(lblNewLabel_1);
JLabel label_4 = new JLabel("—");
label_4.setFont(new Font("宋体", Font.PLAIN, 35));
label_4.setForeground(Color.BLACK);
label_4.setBounds(435, 52, 46, 18);
frame.getContentPane().add(label_4);
JLabel label_5 = new JLabel("20");
label_5.setFont(new Font("宋体", Font.PLAIN, 20));
label_5.setBounds(484, 53, 32, 18);
frame.getContentPane().add(label_5);
textField_1 = new JTextField();
textField_1.setFont(new Font("宋体", Font.PLAIN, 20));
textField_1.setColumns(10);
textField_1.setBounds(505, 47, 39, 27);
frame.getContentPane().add(textField_1);
JLabel label_6 = new JLabel("年");
label_6.setFont(new Font("宋体", Font.PLAIN, 20));
label_6.setBounds(545, 50, 32, 25);
frame.getContentPane().add(label_6);
textField_4 = new JTextField();
textField_4.setFont(new Font("宋体", Font.PLAIN, 20));
textField_4.setColumns(10);
textField_4.setBounds(565, 47, 39, 27);
frame.getContentPane().add(textField_4);
JLabel label_7 = new JLabel("月");
label_7.setForeground(Color.BLACK);
label_7.setFont(new Font("宋体", Font.PLAIN, 20));
label_7.setBounds(605, 50, 32, 25);
frame.getContentPane().add(label_7);
textField_5 = new JTextField();
textField_5.setFont(new Font("宋体", Font.PLAIN, 20));
textField_5.setColumns(10);
textField_5.setBounds(629, 47, 39, 27);
frame.getContentPane().add(textField_5);
JLabel label_8 = new JLabel("日");
label_8.setFont(new Font("宋体", Font.PLAIN, 20));
label_8.setBounds(669, 50, 32, 25);
frame.getContentPane().add(label_8);
JButton button = new JButton("筛选");
button.setFont(new Font("宋体", Font.PLAIN, 20));
button.setBounds(734, 47, 103, 32);
frame.getContentPane().add(button);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(0, 143, 874, 401);
frame.getContentPane().add(scrollPane);
/**
*这是查询窗口不能修改,重写table中isCellEdittable方法
*/
table = new JTable() {
public boolean isCellEditable(int row, int col) {
return false;
}
};
table.setFont(new Font("宋体", Font.PLAIN, 22));
table.setBounds(0, 143, 874, 401);
frame.getContentPane().add(table);
DefaultTableModel model = new DefaultTableModel(query(list1), Names);
table.setModel(model);
table.setRowHeight(30);
JButton button_1 = new JButton("返回");
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
button_1.setBounds(0, 0, 75, 30);
frame.getContentPane().add(button_1);
JLabel label_9 = new JLabel("");
label_9.setFont(new Font("宋体", Font.PLAIN, 23));
label_9.setBounds(494, 88, 184, 42);
frame.getContentPane().add(label_9);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (textField.getText().length() <= 1) {
s1 = "0" + textField.getText();
} else {
s1 = textField.getText();
}
if (textField_1.getText().length() <= 1) {
s2 = "0" + textField_1.getText();
} else {
s2 = textField_1.getText();
}
if (textField_2.getText().length() <= 1) {
s3 = "0" + textField_2.getText();
} else {
s3 = textField_2.getText();
}
if (textField_3.getText().length() <= 1) {
s4 = "0" + textField_3.getText();
} else {
s4 = textField_3.getText();
}
if (textField_4.getText().length() <= 1) {
s5 = "0" + textField_4.getText();
} else {
s5 = textField_4.getText();
}
if (textField_5.getText().length() <= 1) {
s6 = "0" + textField_5.getText();
} else {
textField_5.getText();
}
if(isnumber.isNumber(s1) && isnumber.isNumber(s2) && isnumber.isNumber(s3) && isnumber.isNumber(s4) && isnumber.isNumber(s5) && isnumber.isNumber(s6)){
String start = "20" + s1 + "-" + s3 + "-" + s4;
String end = "20" + s2 + "-" + s5 + "-" + s6;
if ("".equals(textField.getText()) && "".equals(textField_1.getText()) && "".equals(textField_2.getText())
&& "".equals(textField_3.getText()) && "".equals(textField_4.getText()) && "".equals(textField_5.getText())){
for(int p = 0;p < list1.size();p++){
model.removeRow(0);
}
for(int i = 0;i < list1.size();i++){
model.addRow(data[i]);
}
}
else if ("".equals(textField.getText()) || "".equals(textField_1.getText()) || "".equals(textField_2.getText())
|| "".equals(textField_3.getText()) || "".equals(textField_4.getText()) || "".equals(textField_5.getText())) {
label_9.setText("时间格式不正确!");
} else {
int t1 = Integer.parseInt(s1);
int t2 = Integer.parseInt(s3);
int t3 = Integer.parseInt(s4);
int t4 = Integer.parseInt(s2);
int t5 = Integer.parseInt(s5);
int t6 = Integer.parseInt(s6);
if (t1 <= 0 || t1 > 99 || t2 > 12 || t2 <= 0 || t3 <= 0 || t3 > 31 || t4 <= 0 || t4 > 99 || t5 > 12
|| t5 <= 0 || t6 <= 0 || t6 > 31) {
label_9.setText("时间格式不正确!");
} else {
if (t4 < t1) {
label_9.setText("时间格式不正确!");
} else {
if (t4 == t1 && t5 < t2) {
label_9.setText("时间格式不正确!");
} else {
if (t1 == t4 && t2 == t5 && t6 < t3) {
label_9.setText("时间格式不正确!");
} else {
for(int p = 0;p < list1.size();p++){
model.removeRow(0); //将表格清空,每删除一行原本的下一行就会变成第一行,所以每次删除的都是第一行
}
label_9.setText("");
model.fireTableDataChanged() ;
try {
List<Model> list2 = zhangwu.select(start, end);
//System.out.println(list2);
for(int i = 0;i < list2.size();i++){
model.addRow(data[i]);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
System.out.println(start + "\n" + end);
}else{
label_9.setText("请输入数字");
}
}
});
scrollPane.setViewportView(table);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setIcon(new ImageIcon("F:\\Eclipse_Java\\gjp.jpg"));
lblNewLabel.setBounds(0, 0, 885, 553);
frame.getContentPane().add(lblNewLabel);
}
public Object[][] query(List<Model> list) throws SQLException {
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < Names.length; j++) {
data[i][0] = list.get(i).getZwid();
data[i][1] = list.get(i).getFlname();
data[i][2] = list.get(i).getMoney();
data[i][3] = list.get(i).getZhangHu();
data[i][4] = list.get(i).getCreatetime();
data[i][5] = list.get(i).getDescription();
}
}
return data;
}
}
3.删除 根据id值删除,在这里我封装了一个类isNumber,用来判断id值是否为int类型
package com.gjp.View;
import java.awt.EventQueue;
import java.awt.Font;
import java.sql.SQLException;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import com.gjp.Model.Model;
import com.gjp.Service.ZhangWuService;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
public class Delete {
private JFrame frame;
private JTable table;
private JLabel lblid;
private JLabel lblId;
private JTextField textField;
private String[] Names = { "id", "用途", "金额", "账户", "创建时间", "说明" };
ZhangWuService zhangwu = new ZhangWuService();
List<Model> list1 = zhangwu.selectAll();
Object[][] data = new Object[list1.size()][Names.length];
private JLabel label_1;
private isNumber isnumber = new isNumber();
private static int con = 0;
/**
* Launch the application.
*/
public static void delete() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Delete window = new Delete();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*
* @throws SQLException
*/
public Delete() throws SQLException {
initialize();
}
/**
* Initialize the contents of the frame.
*
* @throws SQLException
*/
private void initialize() throws SQLException {
frame = new JFrame();
frame.setResizable(false);
frame.setBounds(550, 200, 892, 589);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
table = new JTable();
table.setFont(new Font("宋体", Font.PLAIN, 22));
table.setBounds(0, 113, 874, 431);
table.setRowHeight(30);
frame.getContentPane().add(table);
DefaultTableModel model = new DefaultTableModel(query(list1), Names);
table.setModel(model);
lblid = new JLabel("请输入id删除");
lblid.setFont(new Font("宋体", Font.PLAIN, 25));
lblid.setBounds(34, 26, 176, 34);
frame.getContentPane().add(lblid);
lblId = new JLabel("id:");
lblId.setFont(new Font("宋体", Font.PLAIN, 23));
lblId.setBounds(280, 53, 72, 27);
frame.getContentPane().add(lblId);
textField = new JTextField();
textField.setFont(new Font("宋体", Font.PLAIN, 23));
textField.setBounds(316, 58, 86, 24);
frame.getContentPane().add(textField);
textField.setColumns(10);
JButton button = new JButton("删除");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String ids = textField.getText();
int min = (Integer) model.getValueAt(0, 0);
int max = (Integer) model.getValueAt(list1.size()-1, 0);
// System.out.println(isnumber.isNumber(ids));
if (isnumber.isNumber(ids)) {
int id = Integer.parseInt(ids);
if (id < min || id > max) {
label_1.setText("请输入有效id!");
} else {
label_1.setText("");
try {
List list2 = zhangwu.selectAll();
for(int i = 0;i < list2.size();i++){
model.removeRow(0);
System.out.println("yes");
}
zhangwu.delById(id);
list1 = zhangwu.selectAll();
data = query(list1);
System.out.println(list1);
for(int j = 0;j < list1.size();j++){
model.addRow(data[j]);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
else{
label_1.setText("请输入数字!");
}
}
});
button.setFont(new Font("宋体", Font.PLAIN, 23));
button.setBounds(431, 51, 123, 31);
frame.getContentPane().add(button);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(858, 113, 16, 431);
frame.getContentPane().add(scrollPane);
label_1 = new JLabel("");
label_1.setForeground(Color.RED);
label_1.setFont(new Font("宋体", Font.PLAIN, 24));
label_1.setBounds(34, 73, 210, 27);
frame.getContentPane().add(label_1);
JLabel label = new JLabel("");
label.setIcon(new ImageIcon("F:\\Eclipse_Java\\gjp.jpg"));
label.setBounds(0, 0, 885, 553);
frame.getContentPane().add(label);
}
public Object[][] query(List<Model> list) throws SQLException {
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < Names.length; j++) {
data[i][0] = list.get(i).getZwid();
data[i][1] = list.get(i).getFlname();
data[i][2] = list.get(i).getMoney();
data[i][3] = list.get(i).getZhangHu();
data[i][4] = list.get(i).getCreatetime();
data[i][5] = list.get(i).getDescription();
}
}
return data;
}
}
4.修改 先实现查询功能,查询出来后直接在table中修改
package com.gjp.View;
import java.awt.EventQueue;
import java.awt.Font;
import java.sql.SQLException;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import com.gjp.Model.Model;
import com.gjp.Service.ZhangWuService;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Edit {
private String[] Names = { "id", "用途", "金额", "账户", "创建时间", "说明" };
private JFrame frame;
ZhangWuService zhangwu = new ZhangWuService();
List<Model> list = zhangwu.selectAll();
private Object[][] data = new Object[list.size()][Names.length];
private JTable table;
private Object[][] obj = new Object[list.size()][Names.length];
public static void edit() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Edit window = new Edit();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
* @throws SQLException
*/
public Edit() throws SQLException {
initialize();
}
/**
* Initialize the contents of the frame.
* @throws SQLException
*/
private void initialize() throws SQLException {
frame = new JFrame();
frame.setResizable(false);
frame.setBounds(550, 200, 892, 589);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
table = new JTable() {
public boolean isCellEditable(int row, int col) {
if(row >= 0 && row < table.getRowCount() && col == 0){
return false;
}
return true;
}
};
table.setFont(new Font("宋体", Font.PLAIN, 22));
table.setBounds(0, 0, 874, 481);
frame.getContentPane().add(table);
table.setRowHeight(30);
DefaultTableModel model = new DefaultTableModel(query(), Names);
table.setModel(model);
JButton btnNewButton = new JButton("保存");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
zhangwu.delAll();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
for(int i = 0;i < list.size();i++){
for(int j = 0;j < Names.length;j++){
obj[i][j] = model.getValueAt(i, j);
System.out.println(obj[i][j]);
}
try {
zhangwu.edit(Integer.parseInt(obj[i][0].toString()), obj[i][1].toString(), Double.parseDouble(obj[i][2].toString()) , obj[i][3].toString() , obj[i][4].toString(), obj[i][5].toString());
} catch (NumberFormatException | SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
btnNewButton.setFont(new Font("宋体", Font.PLAIN, 25));
btnNewButton.setBounds(332, 494, 129, 37);
frame.getContentPane().add(btnNewButton);
JLabel lblNewLabel = new JLabel("New label");
lblNewLabel.setBounds(0, 0, 885, 553);
lblNewLabel.setIcon(new ImageIcon("F:\\Eclipse_Java\\gjp.jpg"));
frame.getContentPane().add(lblNewLabel);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(858, 0, 16, 481);
frame.getContentPane().add(scrollPane);
}
public Object[][] query() throws SQLException {
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < Names.length; j++) {
data[i][0] = list.get(i).getZwid();
data[i][1] = list.get(i).getFlname();
data[i][2] = list.get(i).getMoney();
data[i][3] = list.get(i).getZhangHu();
data[i][4] = list.get(i).getCreatetime();
data[i][5] = list.get(i).getDescription();
}
}
return data;
}
}