基于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
+ "%') ";