《JA V A程序设计》课程设计报告设计题目:职工工资管理系统设计与实现学院名称:专业班级:姓名:学号:目录一需求分析。
3二概要设计。
3 三详细设计。
53.1 数据库设计。
33.2 模块及窗体设计。
33.2.1 数据库模块设计。
53.2.2 用户登录识别模块。
63.2.3管理员模块。
8职工基本信息管理。
9职工工资管理。
203.2.4 普通用户模块。
28职工信息。
283.2.5 系统管理模块。
153.2.5 主窗体菜单设计。
15四软件测试。
36 五总结。
36 参考资料:....................................................。
..17一需求分析本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易, 高效地管理企业职工工资,从而提高工作效率,降低管理成本.二概要设计/************************************************************************ 概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。
项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。
概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。
概要设计关乎到系统的整体架构,因此想做好一个概要设计,不仅仅要熟悉用户的业务流程,还要具备相当丰富的设计经验。
2.1 概要设计的原则概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
概要设计要坚持以下几个原则。
(1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。
解决复杂问题的方法是将其分解成几个小问题,一个个来解决。
(2)提高代码重用性:在面向对象设计中,首先考虑的就是代码的重用,一个好的设计,将来在升级换代时不需要太大的改动,节省了人力物力。
(3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件的功能,从上而下,先分析系统总的功能,然后一步步细分,直到最小的功能模块。
(4)一致性原则:概要设计要求所有功能模块在定义时使用统一的规范。
(5)提高独立性,减少耦合:各个模块与模块之间尽量减少关联,否则修改一个地方就会引起其他多处的变动,不符合面向对象的原则。
一般情况下,对类封装后,只允许对类进行扩展,而不能修改,而封装的类必须具有单一职责,既理论情况下不允许两个类共同完成一个功能。
(6)模块的大小要尽量适中:不是结构算法越复杂的模块越好,模块的大小要根据实际工作目标和其他类的耦合紧密程度来决定。
经验表明,一个模块的规模不应过大,模块的总行数应控制在10~100行的范围内,最好为30~60行,这样理解和阅读都较方便。
过长的模块往往是分解不充分的表现,会增加阅读理解的难度;但小规模太多也会使模块之间联系变得复杂,增大系统在模块调用时传递信息所花费的开销。
由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。
现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。
2.2 将用户需求模块化根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。
什么样的需求才是一个模块?模块应该具备如下3个特征。
(1)输入和输出:模块必须能被调用并且正确的返回调用,而且调用都是相对一个对象而言,这是模块独立性的一个体现。
(2)处理功能:模块必须可以对调用的输入数据进行灵活的处理,并为输出准备好处理结果。
(3)程序代码:用来实现模块功能的源代码。
2.3 确定系统最终模块概要设计中最重要的就是确定此项目包括哪些模块。
根据上两节讲述的设计原则和模块特征,将用户需求转化为下面的模块。
**************************************************************************/ (1)流程图设计2.2 模块设计1 数据库设计模块2 用户登录识别模块3 用户信息管理模块4 职工信息管理模块2.2.1 程序功能描述1.程序运行之后首先弹出欢迎窗口,继而进入登陆界面2.登陆界面的通过用户密码验证进入操作3.密码输入正确后转入管理员主菜单,就可以选择对职工基本信息和工资进行计算、修改、添加或者查询或退出后回到主菜单。
4.密码输入正确后转入普通用户主菜单,就可以选择对自身基本信息和工资进行计算或者查询或退出后回到主菜单。
5.每个功能模块都有退出的功能,回到主菜单。
6.点击主菜单的退出按钮,退出系统。
三详细设计3.1 数据库设计数据库名称:employee 表名:user, employ,salary表user:存放登陆用户的用户名和密码表employ:存放职工基本信息职工表(employee)工资表(salary)3.2 模块及窗体设计3.2.1 数据库模块设计将数据库的连接包装在一个DBConnect类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。
代码如下://创建数据库连接类DBConnectpackage Java_Design;import java.sql.*;public class JDBConnect{//静态方法提高数据库的连接效率public static Connection getConn() throws Exception{//加载JDBC驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");return DriverManager.getConnection("jdbc:sqlserver://localhost:1433;" +"databasename=SalaryManagement","sa","1sjk");}//关闭连接public static void closeConn(Connection conn){if(conn != null){try {conn.close();} catch (Exception e) {e.printStackTrace();} } }//关闭执行对象public static void closeStatement(Statement stmt){if(stmt != null){try { stmt.close();} catch (Exception e) {e.printStackTrace();} } }//关闭结果集public static void closeResultSet(ResultSet rs){if(rs != null){try { rs.close(); }catch (Exception e) {e.printStackTrace(); } } }}3.2.2 用户登录识别模块下表其他的基本属性文件名成员变量成员方法landing1.java JLabel jlabel2=new JLabel("用户ID:");JLabel jlabel3=new JLabel("密码:");JTextField text1 = new JTextField();public landing1() {}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){name=text1.getText();if (e.getSource()==button1){if(text1.getText().trim().equals("")|| text2.getText().trim().equals("")){JOptionPane.showMessageDialog(null,"信息不能为空!");}try{ResultSet rs1=st.executeQuery("select * from Employee where EmployID='"+text1.getText()+"'");if(rs1.next() ){Name=rs1.getString("EmployName").trim();if(text2.getText().equals(rs1.getString("EmployPassword").trim())){if(mana.isSelected()){if(rs1.getString("EmployJob").trim().equals("管理员")){dispose();Management Management1 = new Management(rs1.getString("EmployName").trim());Management1.setVisible(true);}else JOptionPane.showMessageDialog(null,"非管理员!");}else if(pers.isSelected()){//j普通用户dispose();Person Person1 = new Person(rs1.getString("EmployName").trim(),rs1.getString("EmployID").trim());Person1.setVisible(true);}}else JOptionPane.showMessageDialog(landing1.this,"password error!");}else JOptionPane.showMessageDialog(landing1.this,"登录超时!没有这个用户!");}catch(Exception ex){//利用消息对话框提示失败JOptionPane.showMessageDialog(landing1.this,"登录超时!没有这个用户!");text1.setText("");text2.setText("");}}else if (e.getSource()==button2){text1.setText(" ");text2.setText(" ");}else if(e.getSource()==jMenuItem1){//上页dispose();index m= new index();m.setVisible(true);}else if(e.getSource()==jMenuItem4){//退出System.exit(0);}}}3.2.3 管理员模块文件名成员变量成员方法Management. java JMenu jMenu0=new JMenu("系统_管理员界面");//菜单JMenuItem jMenuItem1=newJMenuItem("主页");//子菜单JButton addButton = new JButton("");private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Management(String name){}代码:public Management(String name){//传过来管理员的nameName=name;setTitle("Welcome Management_"+Name);// 设置窗体标题setSize(800, 600);setBounds(100, 100, 550, 340);// 设置窗体位置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setResizable(false);setContentPane(contentPane);// 设置窗体内容面板BHandler h=new BHandler();//为组件注册监听器indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("3.jpg")));// 设置面板背景图片contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));//BorderLayout是用东西南北和中央Button1.setToolTipText("查看所有职工资料");//用来设置鼠标停留时显示提示信息的Button1.setIcon(new ImageIcon(Management.class.getResource("5.png")));addButton.setToolTipText("增添职员");//用来设置鼠标停留时显示提示信息的addButton.setIcon(new ImageIcon(Management.class.getResource("add.jpg")));toolBar.add(addButton);subButton.setToolTipText("删除资料");subButton.setIcon(new ImageIcon(Management.class.getResource("sub.png")));toolBar.add(subButton);resetButton.setToolTipText("修改信息");resetButton.setIcon(new ImageIcon(Management.class.getResource("reset.png")));toolBar.add(resetButton);findButton.setToolTipText("查找职员");findButton.setIcon(new ImageIcon(Management.class.getResource("find1.jpg")));toolBar.add(findButton);jMenuBar1.add(jMenu0);jMenu0.add(jMenuItem1);//主页jMenu0.add(jMenuItem3);//退出jMenu0.add(jMenuItem2);//帮助setJMenuBar(jMenuBar1);setIconImage(Toolkit.getDefaultToolkit().getImage("4.png"));contentPane.add(toolBar, BorderLayout.NORTH);contentPane.add(Button1,BorderLayout.WEST);contentPane.add(backgroundPanel);jMenuItem1.addActionListener(h);jMenuItem2.addActionListener(h);jMenuItem3.addActionListener(h);Button1.addActionListener(h);subButton.addActionListener(h);findButton.addActionListener(h);addButton.addActionListener(h);resetButton.addActionListener(h);}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页dispose();index h= new index();h.setVisible(true);// frame.dispose();}else if(e.getSource()==jMenuItem2){//帮助int i=0;dispose();help h1= new help(Name,i,"");//姓名权限编号h1.setVisible(true);}else if(e.getSource()==jMenuItem3){//退出System.exit(0);}else if(e.getSource()==Button1){//dispose();M_reset rese=new M_reset(Name);rese.setVisible(true);else if(e.getSource()==addButton){ //增dispose();Add_person fram1= new Add_person(Name);fram1.setVisible(true);}else if(e.getSource()==subButton){//删dispose();Sub_person su=new Sub_person(Name);su.setVisible(true);}else if(e.getSource()==resetButton){//改dispose();Reset_person re= new Reset_person(Name);re.setVisible(true);}else if(e.getSource()==findButton){//查dispose();Find_person2 fin= new Find_person2(Name);fin.setVisible(true);} }}3.2.3.1下表其他的基本属性文件名成员变量成员方法Add_person.j ava JMenuItem jMenuItem2=newJMenuItem("回到主页");//子菜单JLabel jlabel1=new JLabel("添加职工基本信息");JButton button2=new JButton("<——返回上页");JLabel jlabel2=new JLabel("编号:");private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Add_person(String N){}public Add_person(String N){Name=N;setTitle("Welcome Person_Reset_"+Name);// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 350);// 设置窗体位置setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("666.jpg")));// 设置面板背景图片jlabel1.setBounds(10,-20,300,120);jlabel2.setBounds(30,65,80,60); text1.setBounds(80,80,120,30);jlabel3.setBounds(220,65,80,60); man.setBounds(270,80,60,30);women.setBounds(325,80,60,30);jlabel7.setBounds(30,105,80,60); text7.setBounds(80,120,120,30);//姓名jlabel8.setBounds(220,105,80,60); text8.setBounds(270,120,120,30);//年龄jlabel4.setBounds(30,145,80,60); text3.setBounds(80,160,120,30);//住址jlabel5.setBounds(220,145,80,60); text4.setBounds(270,160,120,30);//联系电话jlabel6.setBounds(30,190,80,60); text2.setBounds(80,205,120,30);//部门jlabel10.setBounds(220,190,80,60); text10.setBounds(270,205,120,30);jlabel9.setBounds(30,235,80,60); text9.setBounds(80,245,120,30);//职务button2.setBounds(355,10,70,30);button2.setToolTipText("返回上页!");button1.setBounds(270,245,120,30);jlabel1.setFont(new Font("Serif",Font.PLAIN,30));jlabel2.setFont(new Font("Serif",Font.PLAIN,20));jlabel3.setFont(new Font("Serif",Font.PLAIN,20));jlabel4.setFont(new Font("Serif",Font.PLAIN,20));jlabel5.setFont(new Font("Serif",Font.PLAIN,20));jlabel6.setFont(new Font("Serif",Font.PLAIN,20));jlabel7.setFont(new Font("Serif",Font.PLAIN,20));jlabel8.setFont(new Font("Serif",Font.PLAIN,20));jlabel9.setFont(new Font("Serif",Font.PLAIN,20));jlabel10.setFont(new Font("Serif",Font.PLAIN,20));button1.addActionListener(h);button2.addActionListener(h); //button4.addActionListener(h);contentPane.add(jlabel1);contentPane.add(jlabel2);contentPane.add(jlabel3);contentPane.add(jlabel4);contentPane.add(jlabel5);contentPane.add(jlabel6);contentPane.add(jlabel7);contentPane.add(jlabel8);contentPane.add(jlabel9);contentPane.add(jlabel10);contentPane.add(button2);contentPane.add(text1);contentPane.add(text2);contentPane.add(text3);contentPane.add(text4);contentPane.add(text7);contentPane.add(text8);contentPane.add(text9);contentPane.add(text10);buttonGroup.add(man);buttonGroup.add(women);contentPane.add(man);contentPane.add(women);contentPane.add(button1);contentPane.add(backgroundPanel);// 把背景面板添加到窗体内容面板// contentPane.setOpaque(true);contentPane.add(button4);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==button1){//获取用户输入的信息String EmployID=text1.getText();String EmployName=text7.getText();String EmploySex="";if(man.isSelected())EmploySex+="男";if(women.isSelected())EmploySex+="女";String EmployAge=text8.getText();String EmployAd=text4.getText();String EmployPhone=text2.getText();String EmployPassword=text10.getText();String EmployDept=text3.getText();String EmployJob=text9.getText();text11=new JTextField(text1.getText());try{//设置日期格式st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作st.executeUpdate("insert into Employee values('"+EmployID+"','"+EmployName+"','"+EmploySex+"','"+EmployAge+"','"+EmployDept+"','"+EmployAd +"','"+EmployJob+"','"+EmployPhone+"','"+EmployPassword+"')");dispose();Add_Salary frame=new Add_Salary(text11.getText(),Name);frame.setVisible(true);}catch(Exception ex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(Add_person.this,"职工添加失败!");ex.printStackTrace();}}else if(e.getSource()==button2){//String EmployID=;dispose();Management frame=new Management(Name);frame.setVisible(true);}文件名成员变量成员方法代码:public class Find_person2 extends JFrame{Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象JPanel contentPane;JMenuBar jMenuBar1=new JMenuBar();//菜单条BHandler h=new BHandler();//为组件注册监听器JMenu jMenu0=new JMenu("系统");//菜单JMenuItem jMenuItem1=new JMenuItem("回到上页");//子菜单JMenuItem jMenuItem2=new JMenuItem("回到主页");//子菜单JMenuItem jMenuItem3=new JMenuItem("帮助");//子菜单JMenuItem jMenuItem4=new JMenuItem("退出");//子菜单String select,Name;JButton FINDButton=new JButton();JScrollPane scrollPane1 = new JScrollPane();JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JComboBox jcomboBox;ButtonGroup buttongroup=new ButtonGroup();JRadioButton person=new JRadioButton("个人信息");JRadioButton salary=new JRadioButton("薪水");JTextField text1 = new JTextField("输入查找信息");String selects[]={"职工编号","姓名","职务","薪水"};JTable table1 = new JTable();Find_person2(String s1){Name=s1;setTitle("Welcome Find_person_"+Name);// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 690, 400);// 设置窗体位置contentPane = new JPanel();// 创建内容面板setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new GridLayout(3, 1, 5, 5));jcomboBox=new JComboBox(selects);jcomboBox.setMaximumRowCount(4);jcomboBox.setSelectedIndex(0);jcomboBox.addItemListener(new Handler());jcomboBox.setSize(300, 20);buttongroup.add(salary);buttongroup.add(person);// panel1.setLayout(new BorderLayout(0, 0));panel2.setLayout(new BorderLayout(0, 0));panel1.setLayout(new GridLayout(2, 2, 5, 5));JLabel label1 = new JLabel("职工基本资料表");label1.setFont(new Font("微软雅黑", Font.PLAIN, 16));jcomboBox.setFont(new Font("微软雅黑", Font.PLAIN, 20));FINDButton.setToolTipText("查找信息");FINDButton.setIcon(new ImageIcon(help.class.getResource("14.png")));panel1.add(text1);panel1.add(jcomboBox);panel1.add(person);panel1.add(salary);// panel1.add(label2, BorderLayout.NORTH);panel2.add(label1, BorderLayout.NORTH);table1.setGridColor(Color.pink);table1.setRowHeight(20);table1.setSelectionBackground(Color.black);table1.setSelectionForeground(Color.white);scrollPane1.setViewportView(table1);panel2.add(scrollPane1, BorderLayout.CENTER);jMenuBar1.add(jMenu0);jMenu0.add(jMenuItem1);//子菜单jMenu0.add(jMenuItem2);//子菜单jMenu0.add(jMenuItem3);//子菜单jMenu0.add(jMenuItem4);//子菜单setJMenuBar(jMenuBar1);jMenuItem1.addActionListener(h);jMenuItem2.addActionListener(h);jMenuItem3.addActionListener(h);jMenuItem4.addActionListener(h); FINDButton.addActionListener(h);contentPane.add(panel1); contentPane.add(panel2);contentPane.add(FINDButton);// contentPane.add(backgroundPanel);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private void Init() throws Exception{con=JDBConnect.getConn();st=con.createStatement();}private class Handler implements ItemListener{public void itemStateChanged(ItemEvent e){if(e.getStateChange() == e.SELECTED){select=selects[jcomboBox.getSelectedIndex()];}}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//上页dispose();Management m= new Management(Name);m.setVisible(true);}else if(e.getSource()==jMenuItem2){//主页dispose();index i= new index();i.setVisible(true);}else if(e.getSource()==jMenuItem3){//帮助int i=0;dispose();help help1= new help("",i,Name);help1.setVisible(true);}else if(e.getSource()==jMenuItem4){//退出System.exit(0);}else if(e.getSource()==FINDButton){ //显示数据查询数据库try{if(person.isSelected()){ResultSet RS = null;ResultSet RS1 = null;if(select.equals("职工编号")){RS=st.executeQuery("select * from Employee where EmployID='"+text1.getText()+"'");}else if(select.equals("姓名")){RS=st.executeQuery("select * from Employee where EmployName='"+text1.getText()+"'");}else if(select.equals("职务")){RS=st.executeQuery("select * from Employee where EmployJob='"+text1.getText()+"'");}else if(select.equals("薪水")){RS1=st.executeQuery("select * from Salary where BaseSalary='"+text1.getText()+"'");if(RS1.next()){RS=st.executeQuery("select * from Employee where EmployID='"+RS1.getString("EmployID")+"'");}}if(RS.next()){String[] columnNames = { "编号", "姓名","性别","年龄","部门","住址","职务","电话","密码"};DefaultTableModel model = new DefaultTableModel(columnNames, 9);table1.setModel(model);// 设置表格数据模型table1.setValueAt(RS.getString("EmployID"),0,0);table1.setValueAt(RS.getString("EmployName"),0,1);table1.setValueAt(RS.getString("EmploySex"),0,2);table1.setValueAt(RS.getInt("EmployAge"),0,3);table1.setValueAt(RS.getString("EmployDept"),0,4);table1.setValueAt(RS.getString("EmployAd"),0,5);table1.setValueAt(RS.getString("EmployJob"),0,6);table1.setValueAt(RS.getString("EmployPhone"),0,7);table1.setValueAt(RS.getString("EmployPassword"),0,8);}else JOptionPane.showMessageDialog(null, "查找失败");}else if(salary.isSelected()){ResultSet RS = null;ResultSet RS1 = null;String[] columnNames = { "编号", "基本薪水","奖金","罚金","工资卡","总工资"};DefaultTableModel model = new DefaultTableModel(columnNames, 6);table1.setModel(model);// 设置表格数据模型if(select.equals("薪水")){RS=st.executeQuery("select * from Salary where BaseSalary='"+text1.getText()+"'");}else if(select.equals("编号")){RS=st.executeQuery("select * from Salary where EmployID='"+text1.getText()+"'");}else if(select.equals("姓名")){RS1=st.executeQuery("select * from Employee where EmployName='"+text1.getText()+"'");if(RS1.next()){RS=st.executeQuery("select * from Salary where EmployID='"+RS1.getString("EmployID")+"'");}}else if(select.equals("职务")){RS1=st.executeQuery("select * from Employee where EmployJob='"+text1.getText()+"'");if(RS1.next()){ RS=st.executeQuery("select * from Salary where EmployID='"+RS1.getString("EmployID")+"'");} }if(RS.next()){table1.setValueAt(RS.getString("EmployID"),0,0);table1.setValueAt(RS.getString("BaseSalary"),0,1);table1.setValueAt(RS.getString("AddSalary"),0,2);table1.setValueAt(RS.getInt("SubSalary"),0,3);table1.setValueAt(RS.getString("SalaryCard"),0,4);table1.setValueAt(RS.getString("RealSalary"),0,5);}else JOptionPane.showMessageDialog(null, "查找失败");}else JOptionPane.showMessageDialog(null, "薪水查找失败");}catch(Exception ex){}}} }文件名成员变量成员方法Reset_person 1.java JLabel jlabel1=new JLabel("职工基本信息修改");JLabel jlabel2=new JLabel("输入更改后信息:");JTextField text1 = new JTextField();JButton button1=new JButton("提交");private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Reset_person1(String s,String id,StringSelect){}代码:package Java_Design;import java.awt.BorderLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class Reset_person1 extends JFrame {Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象//String []jMenuItem=new String[15];JPanel contentPane = new JPanel();// 创建内容面板JLabel jlabel0;JLabel jlabel1=new JLabel("职工基本信息修改");JLabel jlabel2=new JLabel("输入更改后信息:"); JTextField text1 = new JTextField();JButton button1=new JButton("提交");String name,select;private void Init() throws Exception{con=JDBConnect.getConn();st=con.createStatement();}public Reset_person1(String s,String id,String Select){setTitle("Welcome Person_Reset");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 350);// 设置窗体位置select=Select;setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));indexBackgroundP backgroundPanel = new indexBackgroundP();// 创建背景面板backgroundPanel.setImage(getToolkit().getImage( getClass().getResource("666.jpg")));// 设置面板背景图片name=id;jlabel0=new JLabel(name);jlabel0.setBounds(10,-20,300,120);jlabel1.setBounds(90,-20,300,120);jlabel2.setBounds(30,65,180,60); text1.setBounds(125,120,120,30);button1.setBounds(270,245,120,30);jlabel1.setFont(new Font("Serif",Font.PLAIN,30));BHandler h=new BHandler();//为组件注册监听器button1.addActionListener(h);contentPane.add(jlabel1);contentPane.add(jlabel2);contentPane.add(text1);contentPane.add(button1);contentPane.add(backgroundPanel);// 把背景面板添加到窗体内容面板// contentPane.setOpaque(true);try{//调用初始化方法Init();}catch(Exception exception){exception.printStackTrace();}}private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==button1){//获取用户输入的信息//String EmployID=text1.getText();try{//设置日期格式st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作if(select.equals("ID")){st.executeUpdate("update Employee set EmployID='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("JOB")){st.executeUpdate("update Employee set EmployJob='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("DEPTE")){st.executeUpdate("update Employee set EmployDept='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("bases")){st.executeUpdate("update Salary set BaseSalary='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("fajin")){st.executeUpdate("update Salary set SubSalary='"+text1.getText()+"' where EmployID='"+name+"'");}else if(select.equals("addjin")){st.executeUpdate("update Salary set AddSalary='"+text1.getText()+"' where EmployID='"+name+"'");}//st.executeUpdate("update Employee set EmployID='"+text1.getText()+"' where EmployID='"+name+"'");//利用消息对话框提示职工添加成功//清空文本行的内容text1.setText("");JOptionPane.showMessageDialog(Reset_person1.this,"职工修改成功!");dispose();Reset_person frame=new Reset_person(name);frame.setVisible(true);}catch(Exception ex){//利用消息对话框提示异常的信息JOptionPane.showMessageDialog(Reset_person1.this,"职工修改失败!");ex.printStackTrace();}}} }}文件名成员变量成员方法Sub_person.j ava JMenuBar jMenuBar1=newJMenuBar();//菜单条BHandler h=new BHandler();//组件JMenu jMenu0=new JMenu("系统");JMenuItem jMenuItem1=newJMenuItem("回到上页");//子菜单private class BHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==jMenuItem1){//主页}}public Sub_person1(String s,String id,StringSelect){}package Java_Design;import java.awt.BorderLayout; import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.ImageIcon; import javax.swing.JButton;import javax.swing.JComboBox; import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar; import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;import javax.swing.table.DefaultTableModel;public class Sub_person extends JFrame{Connection con;//声明连接数据库对象Statement st;//声明SQL语句对象JPanel contentPane;String way;//传值JMenuBar jMenuBar1=new JMenuBar();//菜单条BHandler h=new BHandler();//为组件注册监听器JMenu jMenu0=new JMenu("系统");//菜单JMenuItem jMenuItem1=new JMenuItem("回到上页");//子菜单JMenuItem jMenuItem2=new JMenuItem("回到主页");//子菜单JMenuItem jMenuItem3=new JMenuItem("帮助");//子菜单JMenuItem jMenuItem4=new JMenuItem("退出");//子菜单String select;JButton FINDButton=new JButton("查找");JButton SUBButton=new JButton();JScrollPane scrollPane1 = new JScrollPane();JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JComboBox jcomboBox;//复选框JTextField text1 = new JTextField("输入查找信息");String selects[]={"职工编号","姓名","职务"};String Name;JTable table1 = new JTable();Sub_person(String s){Name=s;setTitle("Welcome Sub_person_"+Name);// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 550, 400);// 设置窗体位置contentPane = new JPanel();// 创建内容面板setContentPane(contentPane);// 设置窗体内容面板contentPane.setLayout(new BorderLayout(0, 0));contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new GridLayout(3, 1, 5, 5));jcomboBox=new JComboBox(selects);jcomboBox.setMaximumRowCount(4);jcomboBox.setSelectedIndex(0);jcomboBox.addItemListener(new Handler());。