Eclipse+Java+Swing实现宠物商店管理系统

简介: Eclipse+Java+Swing实现宠物商店管理系统

一、系统介绍


本系统通过文件系统实现实现宠物的增删改查。


二、系统展示


1.主界面

20201104223445237.jpg

2.增加宠物


20201104223602520.jpg


3.删除宠物


2020110422361821.jpg


4.修改宠物


20201104223629750.jpg


5.查询宠物


20201104223641596.jpg


6.模块查询


20201104223657814.jpg


三、系统实现


Cat.java

package com.sjsq;
public class Cat implements Pet {
  String age;
  String name;
  String price;
  String color;
  String pic_routh;
  static String kind = "猫";
  Cat(String name, String age, String color, String price, String routh) {
    this.name = name;
    this.age = age;
    this.color = color;
    this.price = price;
    this.pic_routh = routh;
  }
  public String getKind() {
    return kind;
  }
  public String getName() {
    return name;
  }
  public String getColor() {
    return color;
  }
  public String getAge() {
    return age;
  }
  public String getPrice() {
    return price;
  }
  public String getPic_routh() {
    return pic_routh;
  }
  public void Change(Pet pet) {
    if (!pet.getName().equals(""))
      name = pet.getName();
    if (!pet.getAge().equals(""))
      age = pet.getAge();
    if (!pet.getColor().equals(""))
      color = pet.getColor();
    if (!pet.getPrice().equals(""))
      price = pet.getPrice();
    if (!pet.getPic_routh().equals(""))
      pic_routh = pet.getPic_routh();
  }
}

Dog.java

package com.sjsq;
public class Dog implements Pet {
  String age;
  String name;
  String price;
  String color;
  String pic_routh;
  static String kind = "狗";
  Dog(String name, String age, String color, String price, String routh) {
    this.name = name;
    this.color = color;
    this.age = age;
    this.price = price;
    this.pic_routh = routh;
  }
  public String getKind() {
    return kind;
  }
  public String getName() {
    return name;
  }
  public String getColor() {
    return color;
  }
  public String getAge() {
    return age;
  }
  public String getPrice() {
    return price;
  }
  public String getPic_routh() {
    return pic_routh;
  }
  public void Change(Pet pet) {
    if (!pet.getName().equals(""))
      name = pet.getName();
    if (!pet.getAge().equals(""))
      age = pet.getAge();
    if (!pet.getColor().equals(""))
      color = pet.getColor();
    if (!pet.getPrice().equals(""))
      price = pet.getPrice();
    if (!pet.getPic_routh().equals(""))
      pic_routh = pet.getPic_routh();
  }
}

Mouse.java

package com.sjsq;
public class Mouse implements Pet {
  String age;
  String name;
  String price;
  String color;
  String pic_routh;
  static String kind = "鼠";
  Mouse(String name, String age, String color, String price, String routh) {
    this.name = name;
    this.color = color;
    this.age = age;
    this.price = price;
    this.pic_routh = routh;
  }
  public String getKind() {
    return kind;
  }
  public String getName() {
    return name;
  }
  public String getColor() {
    return color;
  }
  public String getAge() {
    return age;
  }
  public String getPrice() {
    return price;
  }
  public String getPic_routh() {
    return pic_routh;
  }
  public void Change(Pet pet) {
    if (!pet.getName().equals(""))
      name = pet.getName();
    if (!pet.getAge().equals(""))
      age = pet.getAge();
    if (!pet.getColor().equals(""))
      color = pet.getColor();
    if (!pet.getPrice().equals(""))
      price = pet.getPrice();
    if (!pet.getPic_routh().equals(""))
      pic_routh = pet.getPic_routh();
  }
}

MainScreen.java

package com.sjsq;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class MainScreen extends JFrame {
  PetShop pet_shop;
  JButton dog, cat, mouse, otherpets;
  // JLabel dog_lab,cat_lab,mouse_lab,otherpets_lab;
  ImageIcon dog_icon, cat_icon, mouse_icon, otherpets_icon;
  JButton Add, Delete, Change, Search;
  Container con = getContentPane();
  FileReader filereader = null;
  BufferedReader bufferedreader = null;
  FileWriter fileWritter = null;
  PetInput pet_input;
  PetInterface petinterface;
  public MainScreen() {
    super("宠物商店");
    setLayout(null);
    setSize(650, 450);
    setVisible(true);
    //setLocation(450, 50);
    setLocationRelativeTo(null);
    pet_shop = new PetShop(0);
    dog = new JButton("狗");
    cat = new JButton("猫");
    mouse = new JButton("鼠");
    otherpets = new JButton("其他");
    Add = new JButton("增加宠物");
    Delete = new JButton("删除宠物");
    Change = new JButton("更改宠物");
    Search = new JButton("查找宠物");
    dog.setBounds(120, 120, 100, 30);
    con.add(dog);
    cat.setBounds(120, 160, 100, 30);
    con.add(cat);
    mouse.setBounds(120, 200, 100, 30);
    con.add(mouse);
    otherpets.setBounds(120, 240, 100, 30);
    con.add(otherpets);
    Add.setBounds(420, 120, 100, 30);
    con.add(Add);
    Delete.setBounds(420, 160, 100, 30);
    con.add(Delete);
    Change.setBounds(420, 200, 100, 30);
    con.add(Change);
    Search.setBounds(420, 240, 100, 30);
    con.add(Search);
    ImageIcon icon = new ImageIcon("src/PictureSource/主界面背景图.jpg");
    JLabel picture = new JLabel(icon);
    con.add(picture);
    picture.setBounds(0, 0, 700, 400);
    init_button_listener();
    file_read();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  class ImagePanel extends JPanel {
    private Image backgroundImage;
    ImagePanel() {
      backgroundImage = new ImageIcon("src/PictureSource/主界面背景图.jpg").getImage();
    }
    @Override
    protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      if (backgroundImage != null) {
        g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), this);
      }
    }
  }
  void file_read() {
    try {
      filereader = new FileReader("src/Pet information.txt");
      bufferedreader = new BufferedReader(filereader);
      String s = null;
      Pet p;
      while ((s = bufferedreader.readLine()) != null) {
        String[] ss = new String[6];
        ss = s.split(" ");
        if (ss[0].equals("狗"))
          p = new Dog(ss[1], ss[2], ss[3], ss[4], ss[5]);
        else if (ss[0].equals("猫"))
          p = new Cat(ss[1], ss[2], ss[3], ss[4], ss[5]);
        else if (ss[0].equals("鼠"))
          p = new Mouse(ss[1], ss[2], ss[3], ss[4], ss[5]);
        else
          p = new OtherPets(ss[1], ss[2], ss[3], ss[4], ss[5]);
        pet_shop.add(p);
      }
      bufferedreader.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  void init_button_listener() {
    dog.addMouseListener(new MouseListener() {
      public void mouseEntered(MouseEvent e) {
      }
      public void mouseExited(MouseEvent e) {
      }
      public void mouseClicked(MouseEvent e) {
        int[] pos = new int[110];
        int num = 0;
        Pet[] p = pet_shop.pets;
        for (int i = 0; i < pet_shop.num; i++)
          if (p[i].getKind().equals("狗"))
            pos[num++] = i;
        petinterface = new PetInterface(MainScreen.this, pos, num, p);
        petinterface.setVisible(true);
      }
      @Override
      public void mousePressed(MouseEvent e) {
      }
      @Override
      public void mouseReleased(MouseEvent e) {
      }
    });
    cat.addMouseListener(new MouseListener() {
      public void mouseEntered(MouseEvent e) {
      }
      public void mouseExited(MouseEvent e) {
      }
      public void mouseClicked(MouseEvent e) {
        int[] pos = new int[110];
        int num = 0;
        Pet[] p = pet_shop.pets;
        for (int i = 0; i < pet_shop.num; i++)
          if (p[i].getKind().equals("猫"))
            pos[num++] = i;
        petinterface = new PetInterface(MainScreen.this, pos, num, p);
        petinterface.setVisible(true);
      }
      @Override
      public void mousePressed(MouseEvent e) {
      }
      @Override
      public void mouseReleased(MouseEvent e) {
      }
    });
    mouse.addMouseListener(new MouseListener() {
      public void mouseEntered(MouseEvent e) {
      }
      public void mouseExited(MouseEvent e) {
      }
      public void mouseClicked(MouseEvent e) {
        int[] pos = new int[110];
        int num = 0;
        Pet[] p = pet_shop.pets;
        for (int i = 0; i < pet_shop.num; i++)
          if (p[i].getKind().equals("鼠"))
            pos[num++] = i;
        petinterface = new PetInterface(MainScreen.this, pos, num, p);
        petinterface.setVisible(true);
      }
      @Override
      public void mousePressed(MouseEvent e) {
      }
      @Override
      public void mouseReleased(MouseEvent e) {
      }
    });
    otherpets.addMouseListener(new MouseListener() {
      public void mouseEntered(MouseEvent e) {
      }
      public void mouseExited(MouseEvent e) {
      }
      public void mouseClicked(MouseEvent e) {
        int[] pos = new int[110];
        int num = 0;
        Pet[] p = pet_shop.pets;
        for (int i = 0; i < pet_shop.num; i++)
          if (p[i].getKind().equals("其他"))
            pos[num++] = i;
        petinterface = new PetInterface(MainScreen.this, pos, num, p);
        petinterface.setVisible(true);
      }
      @Override
      public void mousePressed(MouseEvent e) {
      }
      @Override
      public void mouseReleased(MouseEvent e) {
      }
    });
    Add.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        pet_input = new PetInput(MainScreen.this, true);
        pet_input.setVisible(true);
        if (pet_shop.add(pet_input)) {
          try {
            fileWritter = new FileWriter("src/Pet information.txt");
            Pet[] p = pet_shop.pets;
            for (int i = 0; i < pet_shop.num; i++) {
              fileWritter.write(p[i].getKind() + " ");
              fileWritter.write(p[i].getName() + " ");
              fileWritter.write(p[i].getAge() + " ");
              fileWritter.write(p[i].getColor() + " ");
              fileWritter.write(p[i].getPrice() + " ");
              fileWritter.write(p[i].getPic_routh() + "\r\n");
            }
            fileWritter.close();
          } catch (Exception event) {
            event.printStackTrace();
          }
        }
      }
    });
    Delete.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        if (pet_shop.delete()) {
          try {
            fileWritter = new FileWriter("src/Pet information.txt");
            Pet[] p = pet_shop.pets;
            for (int i = 0; i < pet_shop.num; i++) {
              fileWritter.write(p[i].getKind() + " ");
              fileWritter.write(p[i].getName() + " ");
              fileWritter.write(p[i].getAge() + " ");
              fileWritter.write(p[i].getColor() + " ");
              fileWritter.write(p[i].getPrice() + " ");
              fileWritter.write(p[i].getPic_routh() + "\r\n");
            }
            fileWritter.close();
          } catch (Exception event) {
            event.printStackTrace();
          }
        }
      }
    });
    Change.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int pos = pet_shop.change();
        if (pos != -1) {
          pet_input = new PetInput(MainScreen.this, true);
          pet_input.setVisible(true);
          if (pet_input.flag == 1) {
            pet_shop.pets[pos].Change(pet_input.pet);
            JOptionPane.showMessageDialog(null, "宠物修改成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
            try {
              fileWritter = new FileWriter("src/Pet information.txt");
              Pet[] p = pet_shop.pets;
              for (int i = 0; i < pet_shop.num; i++) {
                fileWritter.write(p[i].getKind() + " ");
                fileWritter.write(p[i].getName() + " ");
                fileWritter.write(p[i].getAge() + " ");
                fileWritter.write(p[i].getColor() + " ");
                fileWritter.write(p[i].getPrice() + " ");
                fileWritter.write(p[i].getPic_routh() + "\r\n");
              }
              fileWritter.close();
            } catch (Exception event) {
              event.printStackTrace();
            }
          } else
            JOptionPane.showMessageDialog(null, "宠物修改失败!", "提示", JOptionPane.INFORMATION_MESSAGE);
        }
      }
    });
    Search.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int[] pos = new int[110];
        int num = pet_shop.search(pos);
        Pet[] p = pet_shop.pets;
        if (num > 0) {
          petinterface = new PetInterface(MainScreen.this, pos, num, p);
          petinterface.setVisible(true);
        }
      }
    });
  }
  public static void main(String[] args) {
    new MainScreen();
  }
}

PetShop.java

package com.sjsq;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class PetShop {
  Pet[] pets;
  int num;
  PetInput pet_input;
  PetShop(int len) {
    num = len;
    pets = new Pet[110];
  }
  void add(Pet pet) {
    pets[num++] = pet;
  }
  boolean add(PetInput pet_input) {
    if (pet_input.flag == 1) {
      pets[num++] = pet_input.pet;
      JOptionPane.showMessageDialog(null, "宠物添加成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
      return true;
    } else {
      JOptionPane.showMessageDialog(null, "宠物添加失败!", "提示", JOptionPane.INFORMATION_MESSAGE);
      return false;
    }
  }
  boolean delete() {
    String keyWord = JOptionPane.showInputDialog(null, "请输入要删除的宠物信息:", "名字");
    int flag = -1;
    for (int i = 0; i < num; i++)
      if (pets[i].getName().equals(keyWord)) {
        flag = i;
        break;
      }
    if (flag == -1) {
      JOptionPane.showMessageDialog(null, "未查找到该宠物!", "提示", JOptionPane.INFORMATION_MESSAGE);
      return false;
    } else {
      for (int i = flag; i < num - 1; i++)
        pets[i] = pets[i + 1];
      num--;
      JOptionPane.showMessageDialog(null, "已成功删除该宠物!", "提示", JOptionPane.INFORMATION_MESSAGE);
      return true;
    }
  }
  int change() {
    String keyWord = JOptionPane.showInputDialog(null, "请输入要更改的宠物信息:", "名字");
    int pos = -1;
    for (int i = 0; i < num; i++)
      if (pets[i].getName().equals(keyWord)) {
        pos = i;
        break;
      }
    if (pos == -1) {
      JOptionPane.showMessageDialog(null, "未查找到该宠物!", "提示", JOptionPane.INFORMATION_MESSAGE);
      JOptionPane.showMessageDialog(null, "宠物修改失败!", "提示", JOptionPane.INFORMATION_MESSAGE);
    }
    return pos;
  }
  int search(int[] pos) {
    String keyWord = JOptionPane.showInputDialog(null, "请输入要查找的宠物信息:", "名字");
    int n = 0;
    for (int i = 0; i < num; i++) {
      System.out.println(pets[i].getName());
      if (pets[i].getName().equals(keyWord))
        pos[n++] = i;
    }
    if (n == 0)
      JOptionPane.showMessageDialog(null, "未查找到该宠物!", "提示", JOptionPane.INFORMATION_MESSAGE);
    return n;
  }
}


四、其他


1.其他系统实现


JavaWeb系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+Servlet+JSP实现学生成绩管理系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+SSM+Easyui实现网上考试系统

Java+Springboot+H-ui实现营销管理系统

Java+Springboot+Mybatis+Bootstrap实现网上商城系统


JavaSwing系统系列实现

Java+Swing实现斗地主游戏

Java+Swing实现图书管理系统

Java+Swing实现医院管理系统

Java+Swing实现仓库管理系统

Java+Swing实现考试管理系统

Java+Swing实现通讯录管理系统

Java+Swing实现学生信息管理系统

Java+Swing实现学生宿舍管理系统

Java+Swing实现学生选课管理系统

Java+Swing实现学生成绩管理系统

Java+Swing实现学校教材管理系统

Java+Swing实现学校教务管理系统

Java+Swing实现企业人事管理系统

Java+Swing实现电子相册管理系统

Java+Swing实现自助取款机(ATM)系统

Java+Swing实现超市管理系统-TXT存储信息

Java+Swing实现宠物商店管理系统-TXT存储信息





相关文章
|
4天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
20 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
4天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
17 2
|
1天前
|
监控 安全 NoSQL
采用java+springboot+vue.js+uniapp开发的一整套云MES系统源码 MES制造管理系统源码
MES系统是一套具备实时管理能力,建立一个全面的、集成的、稳定的制造物流质量控制体系;对生产线、工艺、人员、品质、效率等多方位的监控、分析、改进,满足精细化、透明化、自动化、实时化、数据化、一体化管理,实现企业柔性化制造管理。
11 3
|
4天前
|
Java 关系型数据库 MySQL
java+B/S架构医院绩效考核管理系统源码 医院绩效管理系统4大特点
医院绩效考核管理系统,采用多维度综合绩效考核的形式,针对院内实际情况分别对工作量、KPI指标、科研、教学、管理等进行全面考核。医院可结合实际需求,对考核方案中各维度进行灵活配置,对各维度的权重、衡量标准、数据统计方式进行自定义维护。
13 0
|
4天前
|
监控 前端开发 Java
Java公立医院绩效考核管理系统 医院绩效考核系统的优势有哪些? 
医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风等管理发展目标的考核体系,形成医院的内部绩效考核与分配机制,通过信息化手段为绩效考评管理人员实施医院绩效考评工作提供了有效工具,扩展了信息管理范围,增加了信息分析的广度与深度。这不仅使绩效评价工作更加科学化、规范化和自动化,而且从根本上改变了绩效评估工作方式,实现了绩效评价数据网络化采集,评价结果透明化管理,奖金分配数据自动化生成,极大地提高了绩效评估的全面性、准确性、时效性、公正性。从而推进医院绩效管理的专业化、规范化和精细化管理,充分发挥
14 0
|
4天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
13 2
|
4天前
|
Java
个人信息管理系统【JSP+Servlet+JavaBean】(Java课设)
个人信息管理系统【JSP+Servlet+JavaBean】(Java课设)
10 0
|
4天前
|
JavaScript Java 测试技术
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
42 5
|
存储 Java 关系型数据库
Java+Swing实现通讯录管理系统
Java+Swing实现通讯录管理系统
311 0
Java+Swing实现通讯录管理系统
|
Java
【Java】通讯录管理系统小项目
【Java】通讯录管理系统小项目
166 0
【Java】通讯录管理系统小项目

推荐镜像

更多