基于java+mysql的swing+mysql药品管理系统(java+swing+gui+mysql)

基于java+mysql的swing+mysql药品管理系统(java+swing+gui+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于java+mysql的Swing+MySQL药品管理系统(java+swing+gui+mysql)

功能介绍:用户管理、药品库存管理、进销管理、营销管理、药品购入、药品售出、药市信息

			private JLabel medicinenameJLabel = new JLabel("药品名称:");
			private JTextField medicinenameJTexFed = new JTextField();;

			private JLabel medicineamountsJLabel = new JLabel("售出数量:");
			private JTextField medicineamountsJTexFed = new JTextField();;

			
			private JLabel recorderJLabel = new JLabel("记录者:  ");
			private JTextField recorderJTexFed = new JTextField();;

			private JLabel medicineproducerJLabel = new JLabel("生产商:  ");
			private JTextField medicineproducerJTexFed = new JTextField();;

			private JPanel southJpanel;
			private JButton cancelBtn;
			private JButton confirmBtn;
			
			public AddMarketMessage(MarketMessage smuv) {
				this.smuv = smuv;
				setTitle("售出记录");

				buildUi();

				setSize(300, 300);
				setLocationRelativeTo(null);
				setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				setVisible(true);
			}
			public void buildUi() {
				setLayout(new BorderLayout(20, 20));
				centerJpanel.setLayout(new GridLayout(8, 2));
				centerJpanel.add(medicineIdJLabel);
				centerJpanel.add(medicineIdJTexFed);
				centerJpanel.add(medicinenameJLabel);
				centerJpanel.add(medicinenameJTexFed);
				centerJpanel.add(medicineamountsJLabel);
				centerJpanel.add(medicineamountsJTexFed);
				centerJpanel.add(recorderJLabel);
				centerJpanel.add(recorderJTexFed);
				centerJpanel.add(medicineproducerJLabel);
				centerJpanel.add(medicineproducerJTexFed);
            e.printStackTrace();
        }
    }

    // 关闭资源的方法
    public void close() {
        try {
            if (rs != null) {
                rs.close();
            }

            if (ps != null) {
                ps.close();
            }

            if (ct != null) {
                ct.close();
            }

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

    // []paras,通过?赋值方式可以防止漏洞注入方式,保证安全性
    public ResultSet query(String sql, String[] paras) {
        try {
            ps = ct.prepareStatement(sql);
            // 对sql的参数赋值
            for (int i = 0; i < paras.length; i++) {
                ps.setString(i + 1, paras[i]);
            }
            // 执行查询
            rs = ps.executeQuery();
        } catch (Exception e) {
            e.printStackTrace();
        }
        // 返回结果集
        return rs;
			String meid = medicineIdJTexFed.getText().trim();
			String mename = medicinenameJTexFed.getText().trim();
			String meprice = medicinepriceJTexFed.getText().trim();
			
			int meamounts = Integer.parseInt(medicineamountsJTexFed.getText().trim());
			
			String meproducer=medicinproducerJTexFed.getText().trim();
			String sql = "insert into medicine(meid,mename,meprice,meamounts,"
					+ "meproducer)values(?,?,?,?,?)";
			SqlHelper sqlHelper = new SqlHelper();
			String paras [] = {meid,mename,meprice,meamounts+"",
					meproducer};
			boolean issuccess = sqlHelper.update(sql, paras);
			if (issuccess) {
				JOptionPane.showConfirmDialog(null, 
						"添加成功","提示",JOptionPane.CLOSED_OPTION);
				smv.refreshJTable();
				this.dispose();
			}else{
				JOptionPane.showConfirmDialog(null, "添加失败","提示",JOptionPane.WARNING_MESSAGE);
			}
		}
		class A implements ActionListener{
			@Override
			public void actionPerformed(ActionEvent e) {
				JButton btton = (JButton) e.getSource();
				if (btton.equals(cancelBtn)) {
					AddMedicineView.this.dispose();
				}else{
					doConfirm();
				}
			}
			
		}	
}
package com.view;

				setTitle("售出记录");

				buildUi();

				setSize(300, 300);
				setLocationRelativeTo(null);
				setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				setVisible(true);
			}
			public void buildUi() {
				setLayout(new BorderLayout(20, 20));
				centerJpanel.setLayout(new GridLayout(8, 2));
				centerJpanel.add(medicineIdJLabel);
				centerJpanel.add(medicineIdJTexFed);
				centerJpanel.add(medicinenameJLabel);
				centerJpanel.add(medicinenameJTexFed);
				centerJpanel.add(medicineamountsJLabel);
				centerJpanel.add(medicineamountsJTexFed);
				centerJpanel.add(recorderJLabel);
				centerJpanel.add(recorderJTexFed);
				centerJpanel.add(medicineproducerJLabel);
				centerJpanel.add(medicineproducerJTexFed);
				add(centerJpanel,BorderLayout.CENTER);
				southJpanel = new JPanel();
				cancelBtn = new JButton("取消");
				cancelBtn.setBackground(Color.lightGray);
				cancelBtn.setSize(100, 60);
				southJpanel.add(cancelBtn);
				cancelBtn.addActionListener(new A());
				confirmBtn = new JButton("确认");
				confirmBtn.setBackground(Color.lightGray);
				confirmBtn.setSize(100, 60);
				southJpanel.add(confirmBtn);
				confirmBtn.addActionListener(new A());
				add(southJpanel,BorderLayout.SOUTH);
			
			}
			public void doConfirm(){
				String mrid = medicineIdJTexFed.getText().trim();
				String mrname = medicinenameJTexFed.getText().trim();
				int mramounts = Integer.parseInt(medicineamountsJTexFed.getText().trim());
				
				String mrrecorder =recorderJTexFed.getText().trim();
				
            sql += " and isAdmin = '" + isAdmin + "';";
            result = new SqlHelper().query(sql, new String[]{});
        }

        if (result != null) {
            while (result.next()) {
                Object rows[] = new Object[6];
                rows[0] = result.getString(1);
                rows[1] = result.getString(3);
                rows[2] = result.getString(4).equals("0") ? "女" : "男";
                rows[3] = result.getString(5);
                rows[4] = result.getString(6);
                rows[5] = result.getString(7).equals("0") ? "普通员工" : "管理员";
                employeeslist.add(rows);
            }

        }
        if (employeeslist.isEmpty()) {
            JOptionPane.showConfirmDialog(null, "没有查询到员工", "提示", JOptionPane.WARNING_MESSAGE);

        }
        return employeeslist;
    }

    public void getFilter() {
        String username = filterUsernameJTexfd.getText().trim();
        String isAdmin = isAdminJTexfd.getText().trim();
        dtm.setNumRows(0);
        try {
            datas = getFliterEmployeesByDb(username, isAdmin);
            for (int i = 0; i < datas.size(); i++) {
                dtm.addRow(datas.get(i));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    private void comfirmDelete() {
        int i = JOptionPane.showConfirmDialog(null, "您确认要删除吗?",
                "提示", JOptionPane.OK_CANCEL_OPTION);
        if (i == 0) {
            deleteEmployee();
        }
    }

    /**
     * 删除员工
     */
    private void deleteEmployee() {
        int selectIndex = empJtable.getSelectedRow();
        }
    };
    private JButton newButton, updateButton, deleteButton;

    private JPanel topJpanel = new JPanel() {
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            ImageIcon icon;
            Image img;
            icon = new ImageIcon("E:\\图片册\\pu.jpg");// 背景图片
            img = icon.getImage();
            g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
        }
    };
    private JLabel filterUserNameJLable = new JLabel("员工id/员工姓名");
    private JTextField filterUsernameJTexfd = new JTextField(12);
    private JLabel isAdminJLabel = new JLabel("身份(管理员/普通员工)");

    private JTextField isAdminJTexfd = new JTextField(12);

    private JButton searchBtn = new JButton("查找");

    private ArrayList<Object[]> datas = null;
    int pageSize = 3; // 每页显示条数
    int dataSum = 0; // 总的数据条数
    int pageCount = 0; // 总页数
    int currntPage = 0; // 当前页数

    public EmployeeManagerView() {
        setLayout(new BorderLayout());
        add(centerJscrollPane, BorderLayout.CENTER);
        dtm.addColumn("员工id");
        dtm.addColumn("名称");
        dtm.addColumn("姓别");
        dtm.addColumn("入职日期");
        dtm.addColumn("年龄");
        dtm.addColumn("是否管理");
        try {
            dataSum = getDataCount();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }

        bottomAllJpane.setLayout(new BorderLayout());
        bottomAllJpane.setPreferredSize(new Dimension(900, 240));
        bottomAllJpane.add(bottonPageJpanel, BorderLayout.CENTER);

        firstButton = new JButton("首页");
        firstButton.setBackground(Color.green);
        lastButton = new JButton("尾页");
        lastButton.setBackground(Color.green);
				    Image img; 
					icon = new ImageIcon("E:\\图片册\\pu.jpg");// 背景图片 
					img = icon.getImage();
			        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
			        } 
			};
			
			private JPanel westPanel=new JPanel(){
				public void paintComponent(Graphics g) {  
			        super.paintComponent(g);  
			        ImageIcon icon;  
				    Image img; 
					icon = new ImageIcon("E:\\图片册\\pun.jpg");// 背景图片 
					img = icon.getImage();
			        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
			        } 
			};
			private JLabel meLabel=new JLabel("     ");
			private JLabel filterMedicineNameJLable = new JLabel("药品货存id/药品名称");
			private JTextField filterMedicineNameJTexfd = new JTextField(12);
			private JLabel recorderJLabel = new JLabel("登记人");
			private JTextField recorderJTexFed = new JTextField(12);
			private JButton searchBtn = new JButton("查找");
			ImageIcon icon=new ImageIcon("E:\\图片册\\yin.jpg");
			private ArrayList<Object[]> datas = null;

			public MarketMessage() {
				setLayout(new BorderLayout());
				
				add(centerJscrollPane, BorderLayout.CENTER);
				dtm3.addColumn("药品货存id");
				dtm3.addColumn("药品名称");
				dtm3.addColumn("售出数量");
				dtm3.addColumn("登记日期");
				dtm3.addColumn("记录者");
				dtm3.addColumn("供货商");
	            
				refreshJTable();
				newButton = new JButton("添加记录",icon);
				newButton.setBackground(Color.lightGray);
				newButton.setBounds(30, 80, 100, 60);
				newButton.setHorizontalTextPosition(SwingConstants.CENTER);
				newButton.setFont(new Font("Dialog",1,15));
				deleteButton = new JButton("移除记录",icon);
				deleteButton.setBackground(Color.lightGray);
				deleteButton.setBounds(30, 170, 100, 60);
				deleteButton.setHorizontalTextPosition(SwingConstants.CENTER);
				deleteButton.setFont(new Font("Dialog",1,15));
				
				eastPanel.add(newButton);
				
			br.close();
			fr.close();
		}
	}
}
}
/**
 * 对数据库操作的类
 * 对数据库的操作,就是crud
 * 调用存储过程
 */
package com.db;

/**
 */
public class SqlHelper {
    // 定义需要的对象
    Connection ct = null;
    PreparedStatement ps = null;
    ResultSet rs = null;

    // 连接数据库需要的字符串
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/project?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull";
    String user = "root";
    String passwd = "123456";

    // 构造函数,初始化
    public SqlHelper() {
        try {
            // 加载驱动
            Class.forName(driver);
            // 得到连接
            ct = DriverManager.getConnection(url, user, passwd);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("驱动没有加载成功,原因是没有导入驱动!请检查");
        } catch (NullPointerException e) {
            // TODO Auto-generated catch bloc
            e.printStackTrace();
            System.out.println("数据库服务没有开启,请打开数据库服务,再重试");
        } catch (SQLException e) {
            // TODO Auto-generated catch bloc
    }

    /**
     * 刷新表格数据
     */
    public void refreshJTable(int begin, int size) {
        dtm.setNumRows(0);
        try {
            datas = getEmployeesByDb(begin, size);
            for (int i = 0; i < datas.size(); i++) {
                dtm.addRow(datas.get(i));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        printPageInfo();
    }

    /**
     * 过滤查找员工
     *
     * @return
     * @throws SQLException
     */
    private ArrayList<Object[]> getFliterEmployeesByDb(String username, String isAdmin) throws SQLException {
        ArrayList<Object[]> employeeslist = new ArrayList<Object[]>();
        // 查询sql语句
        String sql = "select * from EmployeeInfo where (eid like '%" + username + "%'  or  ename like '%" + username
                + "%') ";
        // 查询数据
        ResultSet result = null;
        if (isAdmin == null || isAdmin.equals("")) {
            sql += ";";
            result = new SqlHelper().query(sql, new String[]{});
        } else {

            sql += " and isAdmin = '" + isAdmin + "';";
            result = new SqlHelper().query(sql, new String[]{});
        }

        if (result != null) {
            while (result.next()) {
                Object rows[] = new Object[6];
                rows[0] = result.getString(1);
                rows[1] = result.getString(3);
                }

            }
        });

        topJpanel.add(filterUserNameJLable);
        filterUserNameJLable.setFont(new Font("Dialog", 1, 13));
        topJpanel.add(filterUsernameJTexfd);
        topJpanel.add(isAdminJLabel);
        isAdminJLabel.setFont(new Font("Dialog", 1, 13));
        topJpanel.add(isAdminJTexfd);
        topJpanel.add(searchBtn);
        searchBtn.setFont(new Font("Dialog", 1, 13));
        searchBtn.setBackground(Color.green);
        add(topJpanel, BorderLayout.NORTH);
        searchBtn.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                getFilter();

            }
        });

        pageCount = dataSum / pageSize;
        if (dataSum % pageSize > 0) {
            pageCount++;
        }
        refreshJTable(currntPage + 1, pageSize);

    }

    /**
     * 查找所有员工
     *
     * @return
     * @throws SQLException
     */
    private ArrayList<Object[]> getEmployeesByDb(int begin, int size) throws SQLException {
        ArrayList<Object[]> employeeslist = new ArrayList<Object[]>();
        // 查询sql语句
        String sql = "select * from EmployeeInfo limit " + begin + "," + size + "";
        // 查询数据
        ResultSet result = new SqlHelper().query(sql, new String[]{});
        if (result != null) {
            while (result.next()) {
                Object rows[] = new Object[6];
                rows[0] = result.getString(1);
                rows[1] = result.getString(3);
                rows[2] = result.getString(4).equals("0") ? "女" : "男";
                rows[3] = result.getString(5);
                rows[4] = result.getString(6);
                rows[5] = result.getString(7).equals("0") ? "普通员工" : "管理员";
                employeeslist.add(rows);

public class AddEmployeeView extends JFrame {
	
	private EmployeeManagerView smv;

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("员工号:");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码:");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名:");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别:");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	
	private JLabel ageJLabel = new JLabel("年龄:");
	private JTextField ageJTexFed = new JTextField();;

	
	private JLabel isAdminJLabel = new JLabel("是否管理员");
	
	private String isAdminvalue[] = { "普通员工", "管理员" };
	private JComboBox isAdminJcomBox = new JComboBox(isAdminvalue);

	

public class RegiestView extends JFrame {

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("用户号");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	
	private JLabel ageJLabel = new JLabel("年龄");
	private JTextField ageJTexFed = new JTextField();;

	private JLabel isAdminJLabel = new JLabel("是否管理员");
	

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

}
package com.view;

public class MarketOutRecords extends JFrame {
		
		private MarketView arel;

		private JPanel centerJpanel = new JPanel(){
			public void paintComponent(Graphics g){
				super.paintComponent(g);

public class RegiestView extends JFrame {

	private JPanel centerJpanel = new JPanel(){
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
			int width=centerJpanel.getWidth();
			int heigh=centerJpanel.getHeight();
			g.drawImage(icon.getImage(), 0, 0, width,heigh,null);
		}
	};

	private JLabel userIdJLabel = new JLabel("用户号");
	private JTextField userIdJTexFed = new JTextField();

	private JLabel passwordJLabel = new JLabel("密码");
	private JTextField passwordJTexFed = new JTextField();;

	private JLabel userNameJLabel = new JLabel("姓名");
	private JTextField userNameJTexFed = new JTextField();;

	private JLabel sexJLabel = new JLabel("性别");
	private String sexvalue[] = { "女", "男" };
	private JComboBox sexJcomBox = new JComboBox(sexvalue);

	
	private JLabel ageJLabel = new JLabel("年龄");
	private JTextField ageJTexFed = new JTextField();;

	private JLabel isAdminJLabel = new JLabel("是否管理员");
	
	private String isAdminvalue[] = { "普通用户", "管理员" };
	private JComboBox isAdminJcomBox = new JComboBox(isAdminvalue);

	
	private JPanel southJpanel;
	private JButton cancelBtn;
	private JButton regiestBtn;
	
	public RegiestView() {
		setTitle("注册界面");
		buildUi();

						"卖出成功","提示",JOptionPane.CLOSED_OPTION);
				arel.refreshoutJTable();
				this.dispose();
			}else{
				JOptionPane.showConfirmDialog(null, "卖出失败","提示",JOptionPane.WARNING_MESSAGE);
			}
		}
		class A implements ActionListener{
			@Override
			public void actionPerformed(ActionEvent e) {
				JButton btton = (JButton) e.getSource();
				if (btton.equals(cancelBtn)) {
					MarketOutRecords.this.dispose();
				}else{
					doConfirm();
				}
			}
			
		}	
}

package com.view;

				Object[] row = datas.get(selectIndex);
				String eid = (String) row[0];
				deleteMedicineById(eid);
			}
				
		}
		private void deleteMedicineById(String meid){
			String sql = "delete from medicine where meid='"+meid+"';";
			boolean result = new SqlHelper().update(sql, new String[]{});
			if (result) {
				refreshJTable();
			}else{
				JOptionPane.showConfirmDialog(null, "移除失败!","提示",JOptionPane.WARNING_MESSAGE);
				
			}
		
		}
}
package com.view;

public class MarketView extends JPanel {

    private DefaultTableModel dtm2 = new DefaultTableModel();
    private DefaultTableModel dtm3 = new DefaultTableModel();
    private JTable empelJtable = new JTable(dtm2);
    private JTable mempelJtable = new JTable(dtm3);
    private JPanel bottomAllJpane = new JPanel();

    private JScrollPane centerJscrollPane1 = new JScrollPane(empelJtable);
    private JScrollPane centerJscrollPane2 = new JScrollPane(mempelJtable);
    private JPanel bottomJpanel = new JPanel() {
        public void paintComponent(Graphics g) {
				add(topJpanel, BorderLayout.NORTH);
				searchBtn.addActionListener(new ActionListener() {

					@Override
					public void actionPerformed(ActionEvent e) {
						getFilter();

					}
				});
			}
			@SuppressWarnings("null")
			private ArrayList<Object[]> getRecordsByDb() throws SQLException {
				ArrayList<Object[]> marketrecords = new ArrayList<Object[]>();
				// 查询sql语句
				String sql = "select * from marketrecords";
				// 查询数据
				ResultSet result = new SqlHelper().query(sql, new String[] {});
			
				if (result != null) {
					while (result.next()) {
						Object rows[] = new Object[6];
						rows[0] = result.getString(1);
						rows[1] = result.getString(2);
				        rows[2] = result.getString(3);
						rows[3] = result.getString(4);
						rows[4] = result.getString(5);
						rows[5] = result.getString(6);
						marketrecords.add(rows);
					}

				} else {
					JOptionPane.showConfirmDialog(null, "没有查询到相关记录", "提示", JOptionPane.WARNING_MESSAGE);

				}
				return marketrecords;
			}
			public void refreshJTable() {
				dtm3.setNumRows(0);
				try {
					datas = getRecordsByDb();
					for (int i = 0; i < datas.size(); i++) {
						dtm3.addRow(datas.get(i));
					}
            }

        });
        deleteButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                @SuppressWarnings("unused")
                MarketOutRecords arel = new MarketOutRecords(MarketView.this);

            }
        });

    }

    @SuppressWarnings({"null", "unused"})
    private ArrayList<Object[]> getinViewByDb() throws SQLException {
        ArrayList<Object[]> marketinviews = new ArrayList<Object[]>();
        // 查询sql语句
        String sql = "select * from marketinview";
        // 查询数据
        ResultSet result = new SqlHelper().query(sql, new String[]{});

        if (result != null) {
            while (result.next()) {
                Object rows[] = new Object[6];
                rows[0] = result.getString(1);
                rows[1] = result.getString(2);
                rows[2] = result.getString(3);
                rows[3] = result.getString(4);
                rows[4] = result.getString(5);
                rows[5] = result.getString(6);

                marketinviews.add(rows);
            }

        } else {
            JOptionPane.showConfirmDialog(null, "没有查询到相关记录", "提示", JOptionPane.WARNING_MESSAGE);

        }
        return marketinviews;
	};
	p5.add(new JButton("药品信息百科"));
	textfield=new JTextField(10);
	p5.add(textfield);
	select=new JButton("浏览");
	p5.add(select);
	select.addActionListener(this);
	p5.add(btnOk=new JButton("确定"));
	btnOk.addActionListener(this);
 
 

  tab.add(p1,"        用户管理         ");
  tab.add(p2,"       药品库存管理    ");
  tab.add(p3,"        进销管理         ");
  tab.add(p4,"       营销信息         ");
//  tab.add(p5,"       问答园地         ");
  tab.setBackground(Color.green);
  tab.setFont(new Font("Dialog",1,17));
  JLabel JL = new JLabel("药品管理系统");
  combop.add(JL);
  JL.setFont(new Font("Dialog",1,23));
  JL.setBackground(Color.green);
  container.setLayout(new BorderLayout());
  container.setBackground(Color.cyan);
  container.add(combop,BorderLayout.NORTH);
  container.add(tab,BorderLayout.CENTER);
  
 }

public void actionPerformed(ActionEvent e){
	if (e.getSource()==select){
		int intRetVal=fc.showOpenDialog(this);
		if(intRetVal==JFileChooser.APPROVE_OPTION){
		file=fc.getSelectedFile();	
		textfield.setText(file.getPath());
		}
	}
	if(e.getSource()==btnOk){
		JFrame f=new JFrame();
		f.setSize(500, 370);
		f.setLocationRelativeTo(null);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		area=new JTextPane();
		jsp=new JScrollPane(area);
		jsp.getViewport().setBackground(Color.green);
		area.setBackground(Color.cyan);
		area.setOpaque(false);
		//area.setLineWrap(true);
		//area.setWrapStyleWord(true);
		f.add(jsp);
			
			//2。拼接sql语句
			String sql = "update  medicine set mename=?,meprice=?,"
					+ "meamounts=?,meproducer=? where meid=?";
			//3.执行sql语句
			SqlHelper sqlHelper = new SqlHelper();
			String paras [] = {mename,meprice,meamounts+"",meproducer,meid};
			boolean issuccess = sqlHelper.update(sql, paras);
			if (issuccess) {
				JOptionPane.showConfirmDialog(null, 
						"修改成功","提示",JOptionPane.CLOSED_OPTION);
				smv.refreshJTable();
				this.dispose();
			}else{
				JOptionPane.showConfirmDialog(null, "修改失败","提示",JOptionPane.WARNING_MESSAGE);
			}
			//4.反回执行结果
		}
		
		class A implements ActionListener{
			@Override
			public void actionPerformed(ActionEvent e) {
				JButton btton = (JButton) e.getSource();
				if (btton.equals(cancelBtn)) {
					UpdateMedicineView.this.dispose();
				}else{
					//修改员工信息
					updateInfo();
				}
			}
			
		}
	}

	package com.view;

		
		private JLabel medicineproducerJLabel = new JLabel("生产商:");
		private JTextField medicinproducerJTexFed = new JTextField();;

		
		
		private JPanel southJpanel;
		private JButton cancelBtn;
		private JButton updateBtn;
		
		public UpdateMedicineView(String meid,Medicine smv) {
			this.eId = meid;
			this.smv = smv;
			setTitle("修改药品信息界面");

			buildUi();
			try {
				initDate();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			setSize(400, 300);
			setLocationRelativeTo(null);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			setVisible(true);
		}
		
		private void initDate() throws SQLException{
			
			// 查询sql语句
			String sql = "select * from medicine where meid=?";
			// 查询数据
			ResultSet result = new SqlHelper().query(sql, new String[] {eId});
			if (result != null) {
				while (result.next()) {
					medicineIdJTexFed.setText(result.getString(1));
					medicinenameJTexFed.setText(result.getString(2));
					medicinepriceJTexFed.setText(result.getString(3));
					medicineamountsJTexFed.setText(result.getString(5));
					medicinproducerJTexFed.setText(result.getString(6));
					
				}

			} else {
				JOptionPane.showConfirmDialog(null, "没有查询到相关药物", "提示", JOptionPane.WARNING_MESSAGE);

			}
		}

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	/**
	 */
	public void buildUi() {
		setLayout(new BorderLayout(20, 20));
		centerJpanel.setLayout(new GridLayout(9, 2));
		centerJpanel.add(userIdJLabel);
		centerJpanel.add(userIdJTexFed);
		centerJpanel.add(passwordJLabel);
		centerJpanel.add(passwordJTexFed);
		centerJpanel.add(userNameJLabel);
		centerJpanel.add(userNameJTexFed);
		centerJpanel.add(sexJLabel);
		centerJpanel.add(sexJcomBox);
		centerJpanel.add(ageJLabel);
		centerJpanel.add(ageJTexFed);
		centerJpanel.add(isAdminJLabel);
		centerJpanel.add(isAdminJcomBox);
		
		add(centerJpanel,BorderLayout.CENTER);
		southJpanel = new JPanel();
		southJpanel.setBackground(Color.white);
		cancelBtn = new JButton("取消");
		cancelBtn.setBackground(Color.green);
		cancelBtn.setSize(100, 60);
		southJpanel.add(cancelBtn);
		
		cancelBtn.addActionListener(new A());
		
		regiestBtn = new JButton("注册");
		regiestBtn.setBackground(Color.green);
		regiestBtn.setSize(100, 60);
		southJpanel.add(regiestBtn);
		regiestBtn.addActionListener(new A());
		
		add(southJpanel,BorderLayout.SOUTH);
	
	}
	
	/**
	 */
	public void doRegiest(){
		String eid = userIdJTexFed.getText().trim();
		String password = passwordJTexFed.getText().trim();
				}else{
					JOptionPane.showConfirmDialog(null, "移除失败!","提示",JOptionPane.WARNING_MESSAGE);
					
				}
			
			}
	}

	

package com.view;

public class Medicine  extends JPanel {

		private DefaultTableModel dtm1 = new DefaultTableModel();
		private JTable empeJtable = new JTable(dtm1);
		private JScrollPane centerJscrollPane = new JScrollPane(empeJtable);
		private JPanel bottomJpanel = new JPanel(){
			public void paintComponent(Graphics g) {  
		        super.paintComponent(g);  

		setSize(400, 300);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	/**
	 */
	public void buildUi() {
		setLayout(new BorderLayout(20, 20));
		centerJpanel.setLayout(new GridLayout(9, 2));
		centerJpanel.add(userIdJLabel);
		centerJpanel.add(userIdJTexFed);
		centerJpanel.add(passwordJLabel);
		centerJpanel.add(passwordJTexFed);
		centerJpanel.add(userNameJLabel);
		centerJpanel.add(userNameJTexFed);
		centerJpanel.add(sexJLabel);
		centerJpanel.add(sexJcomBox);
		centerJpanel.add(ageJLabel);
		centerJpanel.add(ageJTexFed);
		centerJpanel.add(isAdminJLabel);
		centerJpanel.add(isAdminJcomBox);
		
		add(centerJpanel,BorderLayout.CENTER);
		southJpanel = new JPanel();
		cancelBtn = new JButton("取消");
		cancelBtn.setBackground(Color.lightGray);
		cancelBtn.setSize(100, 60);
		southJpanel.add(cancelBtn);
		cancelBtn.addActionListener(new A());
		regiestBtn = new JButton("注册");
		regiestBtn.setBackground(Color.lightGray);
		regiestBtn.setSize(100, 60);
		southJpanel.add(regiestBtn);
		regiestBtn.addActionListener(new A());
		add(southJpanel,BorderLayout.SOUTH);
	
	}
	
	/**
	 */
	public void doRegiest(){
		String eid = userIdJTexFed.getText().trim();
		String password = passwordJTexFed.getText().trim();
				add(centerJpanel,BorderLayout.CENTER);
				southJpanel = new JPanel();
				cancelBtn = new JButton("取消");
				cancelBtn.setBackground(Color.lightGray);
				cancelBtn.setSize(100, 60);
				southJpanel.add(cancelBtn);
				cancelBtn.addActionListener(new A());
				confirmBtn = new JButton("确认");
				confirmBtn.setBackground(Color.lightGray);
				confirmBtn.setSize(100, 60);
				southJpanel.add(confirmBtn);
				confirmBtn.addActionListener(new A());
				add(southJpanel,BorderLayout.SOUTH);
			
			}
			public void doConfirm(){
				String mrid = medicineIdJTexFed.getText().trim();
				String mrname = medicinenameJTexFed.getText().trim();
				int mramounts = Integer.parseInt(medicineamountsJTexFed.getText().trim());
				
				String mrrecorder =recorderJTexFed.getText().trim();
				
				String mrproducer=medicineproducerJTexFed.getText().trim();
				String sql = "insert into marketrecords(mrid,mrname,mramounts,mrrecorder,"
						+ "mrproducer)values(?,?,?,?,?)";
				SqlHelper sqlHelper = new SqlHelper();
				String paras [] = {mrid,mrname,mramounts+"",mrrecorder,
						mrproducer};
				boolean issuccess = sqlHelper.update(sql, paras);
				if (issuccess) {
					JOptionPane.showConfirmDialog(null, 
							"添加成功","提示",JOptionPane.CLOSED_OPTION);
					smuv.refreshJTable();
					this.dispose();
				}else{
					JOptionPane.showConfirmDialog(null, "添加失败","提示",JOptionPane.WARNING_MESSAGE);
				}
			}
    private int getDataCount() throws SQLException {
        int count = 0;
        String sql = "select count(*) as count from EmployeeInfo";
        // 查询数据
        ResultSet result = new SqlHelper().query(sql, new String[]{});
        if (result != null && result.next()) {
            count = result.getInt(1);

        }
        return count;
    }

    @SuppressWarnings("unused")
    private void printPageInfo() {
        String pageInfo = "当前页数" + (currntPage + 1) + "  /" + " 总页数   " + pageCount;
        pageInfoLagel.setText(pageInfo);
    }

    /**
     * 刷新表格数据
     */
    public void refreshJTable(int begin, int size) {
        dtm.setNumRows(0);
        try {
            datas = getEmployeesByDb(begin, size);
            for (int i = 0; i < datas.size(); i++) {
                dtm.addRow(datas.get(i));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        printPageInfo();
    }

    /**
     * 过滤查找员工
     *
     * @return
     * @throws SQLException
     */
    private ArrayList<Object[]> getFliterEmployeesByDb(String username, String isAdmin) throws SQLException {
        ArrayList<Object[]> employeeslist = new ArrayList<Object[]>();
        // 查询sql语句
        String sql = "select * from EmployeeInfo where (eid like '%" + username + "%'  or  ename like '%" + username
                + "%') ";

请添加图片描述

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用户登录窗体的源代码如下: ```java import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class LoginWindow extends JFrame { private JTextField usernameField; private JPasswordField passwordField; public LoginWindow() { setTitle("用户登录"); setSize(300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel usernameLabel = new JLabel("用户名:"); usernameField = new JTextField(20); JLabel passwordLabel = new JLabel("密码:"); passwordField = new JPasswordField(20); JButton loginButton = new JButton("登录"); loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String username = usernameField.getText(); String password = new String(passwordField.getPassword()); if (username.equals("admin") && password.equals("12345")) { JOptionPane.showMessageDialog(null, "登录成功!"); } else { JOptionPane.showMessageDialog(null, "用户名或密码错误!"); } } }); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setAutoCreateGaps(true); layout.setAutoCreateContainerGaps(true); layout.setHorizontalGroup( layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(usernameLabel) .addComponent(passwordLabel) ) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(usernameField) .addComponent(passwordField) .addComponent(loginButton) ) ); layout.setVerticalGroup( layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(usernameLabel) .addComponent(usernameField) ) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(passwordLabel) .addComponent(passwordField) ) .addComponent(loginButton) ); pack(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { LoginWindow loginWindow = new LoginWindow(); loginWindow.setVisible(true); } }); } } ``` 运行结果为:用户打开登录窗体后,可以输入用户名和密码,点击登录按钮后,系统会判断用户名和密码是否正确,如果正确则弹出"登录成功"的提示框,如果错误则弹出"用户名或密码错误"的提示框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值