基于java+mysql的swing+mysql药品管理系统(java+swing+gui+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于java的Swing+MySQL药品管理系统(java+swing+gui+mysql)
功能介绍:用户管理、药品库存管理、进销管理、营销管理、药品购入、药品售出、药市信息
}
}
class A implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JButton btton = (JButton) e.getSource();
if (btton.equals(cancelBtn)) {
AddMarketMessage.this.dispose();
}else{
doConfirm();
}
}
}
}
public class AddEmployeeView extends JFrame {
private EmployeeManagerView smv;
private JPanel centerJpanel = new JPanel(){
public void paintComponent(Graphics g){
}
}
// public static void main(String[] args) {
// new RegiestView();
// }
class A implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JButton btton = (JButton) e.getSource();
if (btton.equals(cancelBtn)) {
RegiestView.this.dispose();
}else{
doRegiest();
}
}
}
}
public class AddMedicineView extends JFrame {
public class AddMedicineView extends JFrame {
private Medicine 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 medicineIdJLabel = new JLabel("药品编号:");
private JTextField medicineIdJTexFed = new JTextField();
private JLabel medicinenameJLabel = new JLabel("药品名称:");
private JTextField medicinenameJTexFed = new JTextField();;
private JLabel medicinepriceJLabel = new JLabel("药品价格:");
private JTextField medicinepriceJTexFed = new JTextField();;
private JLabel medicineamountsJLabel = new JLabel("库存量: ");
private JTextField medicineamountsJTexFed = new JTextField();;
private JLabel medicineproducerJLabel = new JLabel("生产商: ");
private JTextField medicinproducerJTexFed = new JTextField();;
private JPanel southJpanel;
private JButton cancelBtn;
private JButton confirmBtn;
public AddMedicineView(Medicine smv) {
this.smv = smv;
setTitle("药品添加界面");
buildUi();
setSize(300, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private JPanel centerJpanel;
private JTextField userName;
private JPasswordField password;
private JLabel label1;
private JLabel label2;
private JPanel southJpanel;
private JButton loginBtn;
private JButton regiestBtn;
private JPanel bgPanel;
public StartApplication() {
setTitle("登录");
//
buildUi();
setSize(380, 400);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
/**
* 初使化界面
*/
@SuppressWarnings("serial")
public void buildUi(){
bgPanel = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon;
Image img;
icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片
img = icon.getImage();
g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
}
};
add(bgPanel);
bgPanel.setLayout(new BorderLayout(20,20));
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();
}
}
g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
}
};
private JPanel southJpanel;
private JButton cancelBtn;
private JButton confirmBtn;
public MarketOutRecords(MarketView arel) {
this.arel = arel;
setTitle("售货记录");
buildUi();
setSize(400, 270);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void buildUi() {
setLayout(new BorderLayout(20, 20));
centerJpanel.setPreferredSize(new Dimension(400,170));
centerJpanel.setLayout(new GridLayout(3, 2));
centerJpanel.add(medicineIdJLabel);
medicineIdJLabel.setFont(new Font("Dialog",1,15));
centerJpanel.add(medicineIdJTexFed);
centerJpanel.add(medicinenameJLabel);
medicinenameJLabel.setFont(new Font("Dialog",1,15));
centerJpanel.add(medicinenameJTexFed);
centerJpanel.add(medicinelogindateJLabel);
medicinelogindateJLabel.setFont(new Font("Dialog",1,15));
centerJpanel.add(medicinelogindateJTexFed);
add(centerJpanel,BorderLayout.CENTER);
bottomAllJpane.setLayout(new BorderLayout());
bottomAllJpane.setPreferredSize(new Dimension(400,100));
bottomAllJpane.add(bottonPageJpanel, BorderLayout.CENTER);
bottonPageJpanel.add(medicineoutpriceJLabel);
medicineoutpriceJLabel.setFont(new Font("Dialog",1,15));
bottonPageJpanel.add(medicineoutpriceJTexFed);
bottonPageJpanel.add(medicineoutamountsJLabel);
medicineoutamountsJLabel.setFont(new Font("Dialog",1,15));
bottonPageJpanel.add(medicineoutamountsJTexFed);
bottonPageJpanel.add(medicineincomesJLabel);
medicineincomesJLabel.setFont(new Font("Dialog",1,15));
bottonPageJpanel.add(medicineincomesJTexFed);
southJpanel = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon;
public class UpdateEmployeeView extends JFrame {
private EmployeeManagerView smv;
private String eId;
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 inDateJLabel = new JLabel("入职日期:");
private JTextField inDateJTexFed = new JTextField();;
@SuppressWarnings("serial")
public class SystemMainView extends JFrame implements ActionListener{
JButton button,btnOk,select;
JScrollPane jsp;
JTextPane area=new JTextPane();
JTextField textfield;
JFileChooser fc=new JFileChooser();
File file=null;
ImageIcon imageIcon=new ImageIcon("E:\\图片册\\lan.jpg");
public SystemMainView(){
setTitle("药品管理系统");
this.setSize( 900, 500);
setResizable(false);
setLocationRelativeTo(null);
layoutUI();
this.setVisible(true);
}
private void layoutUI(){
//对象实例化
JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP);
//容器
Container container = this.getLayeredPane();
//对象化面板
JPanel combop = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");
g.drawImage(icon.getImage(), 0, 0, null);
}
};
JPanel p1 = new EmployeeManagerView();
JPanel p2 = new Medicine();
JPanel p3 = new MarketView();
JPanel p4 = new MarketMessage();
JPanel p5 = new JPanel(){
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);
preButton = new JButton("上一页");
preButton.setBackground(Color.green);
nextButton = new JButton("下一页");
nextButton.setBackground(Color.green);
pageInfoLagel = new JLabel(" ");
pageInfoLagel.setOpaque(true);
pageInfoLagel.setFont(new Font("Dialog", 1, 18));
bottonPageJpanel.add(firstButton);
bottonPageJpanel.add(preButton);
bottonPageJpanel.add(nextButton);
bottonPageJpanel.add(lastButton);
bottonPageJpanel.add(pageInfoLagel);
firstButton.addActionListener(new PageClick());
lastButton.addActionListener(new PageClick());
preButton.addActionListener(new PageClick());
nextButton.addActionListener(new PageClick());
//refreshJTable();
newButton = new JButton("新增用户");
newButton.setBackground(Color.green);
newButton.setFont(new Font("Dialog", 1, 15));
updateButton = new JButton("修改用户");
updateButton.setBackground(Color.green);
updateButton.setFont(new Font("Dialog", 1, 15));
deleteButton = new JButton("删除用户");
deleteButton.setBackground(Color.green);
deleteButton.setFont(new Font("Dialog", 1, 15));
bottomJpanel.add(newButton);
bottomJpanel.add(updateButton);
bottomJpanel.add(deleteButton);
bottomJpanel.setPreferredSize(new Dimension(900, 80));
bottomAllJpane.add(bottomJpanel, BorderLayout.SOUTH);
private JTextField inDateJTexFed = new JTextField();;
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 updateBtn;
public UpdateEmployeeView(String eid,EmployeeManagerView smv) {
this.eId = eid;
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 EmployeeInfo where eid=?";
// 查询数据
ResultSet result = new SqlHelper().query(sql, new String[] {eId});
if (result != null) {
while (result.next()) {
userIdJTexFed.setText(result.getString(1));
passwordJTexFed.setText(result.getString(2));
userNameJTexFed.setText(result.getString(3));
sexJcomBox.setSelectedIndex(result.getInt(4));
//idCardJTexFed.setText(result.getString(7));
inDateJTexFed.setText(result.getString(5));
ageJTexFed.setText(result.getString(6));
//jobJTexFe/d.setText(result.getString(8));
isAdminJcomBox.setSelectedIndex(result.getInt(7));
}
} else {
add(bgPanel);
bgPanel.setLayout(new BorderLayout(20,20));
//实例化中间容器
centerJpanel = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon;
Image img;
icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片
img = icon.getImage();
//下面这行是为了背景图片可以跟随窗口自行调整大小,可以自己设置成固定大小
g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
}
};
//实例化用户名密码控件
label1=new JLabel("用户:");
label1.setFont(new Font("Dialog",1,15));
userName = new JTextField(24);
label2=new JLabel("密码:");
label2.setFont(new Font("Dialog",1,15));
password = new JPasswordField(24);
//添加用户名密码控件到 中间容器中
centerJpanel.add(label1);
centerJpanel.add(userName);
centerJpanel.add(label2);
centerJpanel.add(password);
centerJpanel.setBackground(null);
//实列化欢迎字,并添加到根容器的北边
JLabel label3 = new JLabel("药品管理系统");
label3.setHorizontalAlignment(JLabel.CENTER);
label3.setFont(new Font("Dialog",1,20));
label3.setForeground(Color.green);
label3.setBackground(Color.white);
bgPanel.add(label3,BorderLayout.NORTH);
//添加中间容器到根容器的中间
bgPanel.add(centerJpanel,BorderLayout.CENTER);
southJpanel = new JPanel();
southJpanel.setBackground(Color.white);
regiestBtn = new JButton("注册");
regiestBtn.setBackground(Color.lightGray);
regiestBtn.setSize(100, 60);
southJpanel.add(regiestBtn);
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);
eastPanel.add(deleteButton);
eastPanel.setLayout(null);
eastPanel .setPreferredSize(new Dimension(150,500));
add(eastPanel, BorderLayout.EAST);
eastPanel.setBackground(Color.cyan);
westPanel.add(meLabel);
westPanel.setPreferredSize(new Dimension(50,500));
westPanel.setBackground(Color.cyan);
add(westPanel,BorderLayout.WEST);
bottomJpanel.add(meLabel);
bottomJpanel.setBackground(Color.cyan);
bottomJpanel .setPreferredSize(new Dimension(900,50));
add(bottomJpanel,BorderLayout.SOUTH);
newButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@SuppressWarnings("unused")
AddMarketMessage aea = new AddMarketMessage(MarketMessage.this);
}
});
deleteButton.addActionListener(new ActionListener() {
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);
try{
readFile(area);
}catch(Exception ex){
}
}
}
private void readFile(JTextPane area)throws Exception{
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);
private EmployeeManagerView smv;
private String eId;
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 inDateJLabel = new JLabel("入职日期:");
private JTextField inDateJTexFed = new JTextField();;
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 updateBtn;
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("是否管理员");
public class AddMedicineView extends JFrame {
private Medicine 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 medicineIdJLabel = new JLabel("药品编号:");
private JTextField medicineIdJTexFed = new JTextField();
private JLabel medicinenameJLabel = new JLabel("药品名称:");
private JTextField medicinenameJTexFed = new JTextField();;
private JLabel medicinepriceJLabel = new JLabel("药品价格:");
private JTextField medicinepriceJTexFed = new JTextField();;
private JLabel medicineamountsJLabel = new JLabel("库存量: ");
private JTextField medicineamountsJTexFed = new JTextField();;
private JLabel medicineproducerJLabel = new JLabel("生产商: ");
private JTextField medicinproducerJTexFed = new JTextField();;
private JPanel southJpanel;
private JButton cancelBtn;
private JButton confirmBtn;
public AddMedicineView(Medicine smv) {
this.smv = smv;
setTitle("药品添加界面");
buildUi();