Java+SQLite+JDBC+Swing实现校园接单平台二手交易平台

程序功能说明

程序主要实现了一个类似于发布求助信息,帮助他人的求助的平台,每一个用户都可以注册账号并登陆账号,然后发布自己的求助信息,如“求租自行车一天”,“求二手书《数学分析》”等。每一个用户也可以查看到其它人发布的求助信息,并选择性的进行帮助他人解决问题。
程序的功能和初衷大致是大致完成一个类似于二手交易平台或者像是外卖平台的操作

程序运行方式

由于本人开发在MacOS平台上完成,导致文件相互依赖的相对路径和索引会有一些问题,如果想尝试运行源代码请修改DBPeopleManager, dbMenuManager, ShowMyInfor三个文件下的相对路径,并手动将jdbc倒入至structure,以及将两个db文件设置为resources

程序内容说明

整个代码的逻辑框架:

  1. DbMenu下实现了一个接口dbMenuManager和一个方法menuRepository用来控制和菜单数据库的连接
  2. DbPeople下实现了一个接口dbPeopleManager和一个方法peopleRepository用来控制和用户数据库的连接
  3. Home下多个界面展示内容:
    其中Home是所有菜单的展示窗口,ShowMenu是展示菜单详细内容的窗口,ShowMyInfor是展示个人信息的窗口,ShowMyReceive是展示我的接单的窗口,ShowMyMenus是展示我的发布的窗口,UpdateMenu是增添发布信息的窗口,ModifyMenu是修改发布的信息的窗口
  4. Login下多个入口界面的窗口:
    Login是登陆界面,Main是整个程序主入口,Register是注册账户界面
  5. Things下有两个类也是本程序最关键的两个对象,菜单和用户:
    People和Menu

在这里插入图片描述
在这里插入图片描述
以在主界面选择登陆或者注册
支持同时在线多个账户
登录成功后会有相应的提示
在这里插入图片描述
在这里插入图片描述
注册界面可以在注册的时候就提示到用户密码是否输入一致,账户是否已经被注册了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在主信息面板当中,只能查看到没有被接单的项目,这样方便其它人来选择性的接单
同时发布信息界面也很完善,可以设置相对应的悬赏金额
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同时设立我的发布和我的接单两个界面,以列表的形式展示方便管理和控制,同时也使得界面一目了然
在这里插入图片描述
信息详情界面展示的也比较科学:
当自己查询自己发的求助信息时,如果已经尚未被别人接单,则可以支持修改信息和删除该求助信的操作。
当自己查询自己发的求助信息时,如果已经被别人接单,则可以在对方完成事件后点击完成订单,以实现交易完成的操作。
当自己查询别人的求助信息时,只能查询到别人没有被接单的项目,所以只能进行一个接单的操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改信息的时候会显示之前的信息,这样便于更改内容
在这里插入图片描述
最后是个人信息的界面,可以注销账户,显示余额
在这里插入图片描述

GitHub地址

GitHub地址

源码

Login中

package com.ZHJ.Login;
/**
 * @auther ZHJ
 * @date 2020/12/5
 * Main
 */
import com.ZHJ.Home.Home;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;

public class Main extends JFrame {
    public Main(){
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 300, 200);
        MYFrame.setTitle("主界面");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setLayout(null);
        MYFrame.setResizable(false);

        JLabel LL = new JLabel("欢迎来到校园互助软件!");
        LL.setBounds(80, 20, 150, 20);
        MYFrame.add(LL);

        JButton Btn1 = new JButton("登陆");
        Btn1.setBounds(40, 120, 100, 30);
        Btn1.addActionListener((ActionEvent e) -> {
            Login login=new Login();
        });
        MYFrame.add(Btn1);

        JButton Btn3 = new JButton("注册");
        Btn3.setBounds(160, 120, 100, 30);
        Btn3.addActionListener((ActionEvent e) -> {
            Register register=new Register();
        });
        MYFrame.add(Btn3);

        MYFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        MYFrame.setVisible(true);
    }
    public static void main(String []args){
        Main main=new Main();
    }
}
package com.ZHJ.Login;
/**
 * @author ZHJ
 * @date 2020/11/26
 * Register
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;

import com.ZHJ.Things.People;
import com.ZHJ.dbPeople.*;

public class Register extends JFrame {
    public Register() {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 300, 200);
        MYFrame.setTitle("注册界面");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setResizable(false);
        MYFrame.setLayout(null);

        JLabel LL = new JLabel("欢迎注册校园互助软件!");
        LL.setBounds(40, 20, 150, 20);
        MYFrame.add(LL);

        JLabel L1 = new JLabel("请输入您的用户名:");
        L1.setBounds(40, 50, 160, 20);
        MYFrame.add(L1);

        JTextField T1 = new JTextField(50);
        T1.setBounds(180, 50, 100, 20);
        MYFrame.add(T1);

        JLabel L2 = new JLabel("请输入您的密码:");
        L2.setBounds(40, 80, 160, 20);
        MYFrame.add(L2);

        JPasswordField T2 = new JPasswordField(50);
        T2.setEchoChar('*');
        T2.setBounds(180, 80, 100, 20);
        MYFrame.add(T2);

        JLabel L3 = new JLabel("请再次输入您的密码:");
        L3.setBounds(40, 110, 160, 20);
        MYFrame.add(L3);

        JPasswordField T3 = new JPasswordField(50);
        T3.setEchoChar('*');
        T3.setBounds(180, 110, 100, 20);
        MYFrame.add(T3);

        JButton Btn1 = new JButton("确定");
        Btn1.setBounds(60, 140, 60, 30);
        Btn1.addActionListener((ActionEvent e) -> {
            String name = T1.getText();
            char[] ch2 = T2.getPassword();
            String password2 = new String(ch2);
            char[] ch3 = T3.getPassword();
            String password3 = new String(ch3);
            PeopleRepository PeopleRepository = null;
            try {
                PeopleRepository = new DBPeopleManager();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
            if (!PeopleRepository.NameExist(name)) {
                if (password2.equals(password3)) {
                    PeopleRepository = null;
                    try {
                        PeopleRepository = new DBPeopleManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    if(PeopleRepository.AddPeople(new People(name,password2)))
                    {
                        JOptionPane.showMessageDialog(null, "注册成功!");
                        MYFrame.setVisible(false);
                    }
                }
                else {
                    JOptionPane.showMessageDialog(null, "您输入的密码不一致!");
                    T2.setText("");
                    T3.setText("");
                }
            }
            else {
                JOptionPane.showMessageDialog(null, "您输入的用户名已被注册!");
                T1.setText("");
                T2.setText("");
                T3.setText("");
            }
        });
        MYFrame.add(Btn1);

        JButton Btn2 = new JButton("清空");
        Btn2.setBounds(120, 140, 60, 30);
        Btn2.addActionListener((ActionEvent e) -> {
            T1.setText("");
            T2.setText("");
            T3.setText("");
        });
        MYFrame.add(Btn2);

        JButton Btn3 = new JButton("取消");
        Btn3.setBounds(200, 140, 60, 30);
        Btn3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Login login = new Login();
        });
        MYFrame.add(Btn3);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Login;
/**
 * @author ZHJ
 * @date 2020/11/26
 * Login
 */
import com.ZHJ.Home.Home;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;

public class Login extends JFrame {
    public Login() {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 300, 200);
        MYFrame.setTitle("登陆界面");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setLayout(null);
        MYFrame.setResizable(false);

        JLabel LL = new JLabel("欢迎来到校园互助软件!");
        LL.setBounds(40, 20, 150, 20);
        MYFrame.add(LL);

        JLabel L1 = new JLabel("用户名:");
        L1.setBounds(40, 50, 55, 20);
        MYFrame.add(L1);

        JTextField T1 = new JTextField(50);
        T1.setBounds(100, 50, 100, 20);
        MYFrame.add(T1);

        JLabel L2 = new JLabel("密码:");
        L2.setBounds(40, 80, 55, 20);
        MYFrame.add(L2);

        JPasswordField T2 = new JPasswordField(50);
        T2.setEchoChar('*');
        T2.setBounds(100, 80, 100, 20);
        MYFrame.add(T2);

        JButton Btn1 = new JButton("确定");
        Btn1.setBounds(40, 120, 80, 30);
        Btn1.addActionListener((ActionEvent e) -> {
            String name = T1.getText();
            char []ch = T2.getPassword();
            String password = new String(ch);
            PeopleRepository repository = null;
            try {
                repository = new DBPeopleManager();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
            if (repository.NameExist(name)) {
                try {
                    repository = new DBPeopleManager();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
                if (repository.PassWordCorrect(name, password)) {
                    JOptionPane.showMessageDialog(null, "登录成功");
                    MYFrame.setVisible(false);
                    Home home=new Home(name);
                }
                else {
                    JOptionPane.showMessageDialog(null, "密码错误");
                    T2.setText("");
                }
            }
            else {
                JOptionPane.showMessageDialog(null, "请您注册账号");
                T1.setText("");
                T2.setText("");
            }
        });
        MYFrame.add(Btn1);

        JButton Btn2 = new JButton("清空");
        Btn2.setBounds(120, 120, 80, 30);
        Btn2.addActionListener((ActionEvent e) -> {
            T1.setText("");
            T2.setText("");
        });
        MYFrame.add(Btn2);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}

Things中

package com.ZHJ.Things;
/**
 * @author ZHJ
 * @date 2020/11/28
 * Menu
 */
public class Menu {
    private String Text = "";
    private String Name = "";
    private int Money = 0;
    private boolean Flag = false;
    private String NameWant = "";

    public Menu() {
    }

    public Menu(String text, String name) {
        Text = text;
        Name = name;
    }

    public Menu(String text, String name, int money) {
        Text = text;
        Name = name;
        Money = money;
    }

    public void SetText(String text) {
        Text = text;
    }

    public void SetName(String name) {
        Name = name;
    }

    public void SetMoney(int money) {
        Money = money;
    }

    public void SetFlag(boolean flag) {
        Flag = flag;
    }

    public void SetNameWant(String nameWant) {
        NameWant = nameWant;
    }

    public String GetText() {
        return Text;
    }

    public String GetName() {
        return Name;
    }

    public int GetMoney() {
        return Money;
    }

    public boolean GetFlag() {
        return Flag;
    }

    public String GetNameWant() {
        return NameWant;
    }
}
package com.ZHJ.Things;
/**
 * @author ZHJ
 * @date 2020/11/27
 * People
 */
public class People {
    private String Name = "";
    private String Password = "";
    private int Property = 0;

    public People() {
    }

    public People(String name, String password) {
        Name = name;
        Password = password;
        Property = 0;
    }

    @Override
    public String toString() {
        return "People [Name=" + Name + ", Password=" + Password + ", Property=" + Property + "]";
    }

    public String GetName() {
        return Name;
    }

    public String GetPassWord() {
        return Password;
    }

    public int GetProperty() {
        return Property;
    }

    public void SetName(String name) {
        Name = name;
    }

    public void SetPassword(String password) {
        Password = password;
    }

    public void SetProperty(int property) {
        Property = property;
    }
}

dbMenu中

package com.ZHJ.dbMenu;
/**
 * @author ZHJ
 * @date 2020/11/29
 * MenuRepository
 */
import com.ZHJ.Things.Menu;

import java.util.List;

public interface MenuRepository {
    boolean AddMenu(Menu menu);
    boolean ModifyMenu(Menu OldMenu,Menu NewMenu);
    boolean DeleteMenu(Menu menu);
    boolean ExistMenu(Menu menu);
    boolean AcceptMenu(Menu menu,String name);
    List<Menu> check();
}
package com.ZHJ.dbMenu;
/**
 * @author ZHJ
 * @date 2020/11/29
 * dbMenuManager
 */

import com.ZHJ.Things.Menu;

import java.io.Closeable;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class dbMenuManager implements MenuRepository, Closeable {
    private Connection connection = null;
    private final String connectionStr = "jdbc:sqlite:./files/Menu.db";

    public dbMenuManager() throws SQLException {
        connection = DriverManager.getConnection(connectionStr);
    }

    @Override
    public boolean AddMenu(Menu menu) {
        try {//增加菜单
            Statement statement = connection.createStatement();
            String sql = "insert into Menu(Text,People,Money,Flag)" +
                    "values('" + menu.GetText() + "','" +
                    menu.GetName() + "','" + menu.GetMoney() +
                    "','" + 0 + "')";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {

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

    @Override
    public boolean ExistMenu(Menu menu) {
        try {//判断菜单是否有重合的
            String sql = "select * from Menu";
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                if (menu.GetName().equals(rs.getString("People")) &&
                        menu.GetText().equals(rs.getString("Text"))) {
                    return true;
                }
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public boolean DeleteMenu(Menu menu) {
        try {//删除菜单
            Statement statement = connection.createStatement();
            String sql = "delete from Menu where Text='" +
                    menu.GetText() + "'and People='" + menu.GetName() + "'";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public boolean ModifyMenu(Menu OldMenu, Menu NewMenu) {
        try {//更新菜单内容
            Statement statement = connection.createStatement();
            String sql = "update Menu set Text='" + NewMenu.GetText() +
                    "', Money=" + NewMenu.GetMoney() +
                    " where Text='" + OldMenu.GetText() + "' and People='" + OldMenu.GetName() + "'";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public List<Menu> check() {//查看
        String sql = "select * from Menu";
        List<Menu> list = new ArrayList<Menu>();
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {//
                Menu menu = new Menu();
                menu.SetText(rs.getString("Text"));
                menu.SetName(rs.getString("People"));
                menu.SetMoney(rs.getInt("Money"));
                menu.SetFlag(rs.getBoolean("Flag"));
                menu.SetNameWant(rs.getString("PeopleWant"));
                list.add(menu);//把类对象放到集合里
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return list;
    }

    @Override
    public boolean AcceptMenu(Menu menu, String name) {
        try {//被别人接单了
            Statement statement = connection.createStatement();
            String sql = "update Menu set PeopleWant='" + name + "', Flag=1" +
                    " where Text='" + menu.GetText() + "' and People='" + menu.GetName() + "'";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public void close() throws IOException {
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
}

dbPeople中

package com.ZHJ.dbPeople;
/**
 * @author ZHJ
 * @date 2020/11/27
 * PeopleRepository
 */
import com.ZHJ.Things.People;

public interface PeopleRepository {
    boolean NameExist(String name);
    boolean PassWordCorrect(String name,String password);
    boolean AddPeople(People people);
    People FindPeople(String name);
    boolean DeletePeople(String name);
    boolean ModifyMoney(People people,int num,String op);
}
package com.ZHJ.dbPeople;
/**
 * @author ZHJ
 * @date 2020/11/27
 * DBPeopleManager
 */
import java.io.Closeable;
import java.io.IOException;
import java.sql.*;

import com.ZHJ.Things.*;

public class DBPeopleManager implements PeopleRepository, Closeable {
    private Connection connection = null;
    private final String connectionStr = "jdbc:sqlite:./files/People.db";

    public DBPeopleManager() throws SQLException {
        connection = DriverManager.getConnection(connectionStr);
    }

    @Override
    public boolean NameExist(String name) {
        try {//判断是否有重名的
            String sql = "select * from People";
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                if (name.equals(rs.getString("Name"))) {
                    return true;
                }
            }
            return false;
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public boolean PassWordCorrect(String name, String password) {
        try {//判定账户的密码是否正确
            String sql = "select * from People";
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                if (name.equals(rs.getString("Name"))) {
                    return password.equals(rs.getString("Password"));
                }
            }

        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public boolean AddPeople(People people) {
        try {//注册新用户
            Statement statement = connection.createStatement();
            String sql = "insert into People(name,password,property)" +
                    "values('" + people.GetName() + "','" +
                    people.GetPassWord() + "','" + people.GetProperty() + "')";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }

    @Override
    public People FindPeople(String name) {//根据name查找整个people的数据
        People people = new People();
        people.SetName(name);
        try {
            String sql = "select * from People";
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                if (name.equals(rs.getString("Name"))) {
                    people.SetProperty(rs.getInt("Property"));
                    return people;
                }
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return people;
    }

    @Override
    public boolean DeletePeople(String name) {
        try {//注销账户
            String sql = "delete from People " +
                    " where Name=" + "'" + name + "'";
            Statement statement = connection.createStatement();
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public boolean ModifyMoney(People people, int num, String op) {//op为判断增加还是减少金额
        int money = people.GetProperty();
        if (op.equals("+")) {
            money += num;
        }
        else if (op.equals("-")) {
            money -= num;
        }
        try {
            Statement statement = connection.createStatement();
            String sql = "update People set Property='" + money +
                    "' where Name='" + people.GetName() + "'";
            int rowAffected = statement.executeUpdate(sql);
            if (rowAffected > 0) {
                return true;
            }
            else {
                return false;
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
        return false;
    }

    @Override
    public void close() throws IOException {
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

Home中

package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/11/29
 * Home
 */

import com.ZHJ.Login.Login;
import com.ZHJ.Login.Register;
import com.ZHJ.Things.Menu;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.List;

public class Home extends JFrame {
    public Home(String name) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 430, 420);
        MYFrame.setTitle("信息面板");
        MYFrame.setResizable(false);
        MYFrame.setLocationRelativeTo(null);
        MYFrame.setLayout(null);//采用坐标布局

        MenuRepository repository = null;
        try {
            repository = new dbMenuManager();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        List<Menu> list = repository.check();

        String[] rowName = {"编号", "内容", "金额", "发布人"};
        int DataNum = 0;
        for (int i = 0; i < list.size(); i++) {//仅展示未被接单的单子
            Menu menu = list.get(i);
            if (!menu.GetFlag()) {
                DataNum++;
            }
        }
        Object[][] data = new Object[DataNum][4];
        for (int i = 0, j = 0; i < list.size(); i++) {
            Menu menu = list.get(i);
            if (!menu.GetFlag()) {
                Object[] s = {i + 1, menu.GetText(), menu.GetMoney(), menu.GetName()};
                data[j++] = s;
            }
        }
        final JTable table = new JTable(data, rowName);
        JScrollPane JSP = new JScrollPane(table);//这一步不能省去,否则显示不出列名
        JSP.setBounds(20, 10, 400, 200);
        MYFrame.add(JSP);

        JLabel L1 = new JLabel("您的ID:" + name);
        L1.setBounds(20, 220, 120, 20);
        MYFrame.add(L1);

        JButton jb1 = new JButton("查看信息");
        jb1.setBounds(170, 220, 100, 30);
        jb1.addActionListener((ActionEvent e) -> {
            int row = table.getSelectedRow();//选中第几行
            if (row == -1) {
                JOptionPane.showMessageDialog(null, "您没有选中信息");
                return;
            }
            int ID = (int) data[row][0];
            MYFrame.setVisible(false);
            ShowMenu showMenu = new ShowMenu(name, ID - 1, "Home");
        });
        MYFrame.add(jb1);

        JButton jb2 = new JButton("发布求助");
        jb2.setBounds(45, 280, 100, 30);
        jb2.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            UpdateMenu updateMenu = new UpdateMenu(name, "Home");
        });
        MYFrame.add(jb2);

        JButton jb3 = new JButton("我的发布");
        jb3.setBounds(170, 280, 100, 30);
        jb3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyMenus showMyMenus = new ShowMyMenus(name);
        });
        MYFrame.add(jb3);

        JButton jbFresh = new JButton("刷新");
        jbFresh.setBounds(270, 220, 100, 30);
        jbFresh.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Home home = new Home(name);
        });

        MYFrame.add(jbFresh);
        JButton jb4 = new JButton("我的接单");
        jb4.setBounds(170, 320, 100, 30);
        jb4.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyReceive showMyReceive = new ShowMyReceive(name);
        });
        MYFrame.add(jb4);

        JButton jb5 = new JButton("我的信息");
        jb5.setBounds(280, 280, 100, 30);
        jb5.addActionListener((ActionEvent e) -> {
            ShowMyInfor showMyInfor = new ShowMyInfor(name);
            MYFrame.setVisible(false);
        });
        MYFrame.add(jb5);

        JButton jb6 = new JButton("退出登陆");
        jb6.setBounds(300, 340, 100, 30);
        jb6.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            JOptionPane.showMessageDialog(null, "感谢使用!\n欢迎下次再见!");
            Login login = new Login();
        });
        MYFrame.add(jb6);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/1
 * ShowMenu
 */

import com.ZHJ.Login.Login;
import com.ZHJ.Things.Menu;
import com.ZHJ.Things.People;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.util.List;

public class ShowMenu extends JFrame {
    private boolean FlagSamePeople = true;

    public ShowMenu(String name, int ID, String From) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 400, 370);
        MYFrame.setTitle("内容展示");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setResizable(false);
        MYFrame.setLayout(null);

        MenuRepository menuRepository = null;
        try {
            menuRepository = new dbMenuManager();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        List<Menu> list = menuRepository.check();
        Menu menu = new Menu();
        menu = list.get(ID);
        if (menu.GetName().equals(name)) {
            FlagSamePeople = true;//名字相同说明是自己在查询自己的信息
        }
        else {
            FlagSamePeople = false;
        }

        final Menu menufinal = menu;

        JLabel L1 = new JLabel("编号:");
        L1.setBounds(45, 15, 50, 20);
        MYFrame.add(L1);

        JLabel L2 = new JLabel(String.valueOf(ID + 1));
        L2.setBounds(85, 15, 100, 20);
        MYFrame.add(L2);

        JLabel L3 = new JLabel("内容:");
        L3.setBounds(45, 60, 50, 20);
        MYFrame.add(L3);

        JLabel L4 = new JLabel("<html>" + menu.GetText() + "</html>");
        L4.setBounds(85, 60, 250, 150);
        MYFrame.add(L4);

        JLabel L5 = new JLabel("金额:");
        L5.setBounds(45, 210, 50, 20);
        MYFrame.add(L5);

        JLabel L6 = new JLabel(String.valueOf(menu.GetMoney()));
        L6.setBounds(85, 210, 100, 20);
        MYFrame.add(L6);

        JLabel L9 = new JLabel("发布人:");
        L9.setBounds(33, 37, 60, 20);
        MYFrame.add(L9);

        JLabel L7 = new JLabel("接单状态:");
        L7.setBounds(20, 240, 80, 20);
        MYFrame.add(L7);

        JLabel L8 = new JLabel();
        if (FlagSamePeople) {//是自己查询自己发布的信息
            JLabel L10 = new JLabel("我");
            L10.setBounds(85, 37, 100, 20);
            MYFrame.add(L10);

            if (menu.GetFlag()) {//已经被接单了,就不能修改信息,只能有完成订单的操作
                L8.setText("已接单");
                JLabel L11 = new JLabel("接单人:" + menu.GetNameWant());
                L11.setBounds(33, 270, 150, 20);
                MYFrame.add(L11);

                JButton jb1 = new JButton("完成订单");
                jb1.setBounds(60, 300, 80, 30);
                jb1.addActionListener((ActionEvent e) -> {//此时是完成订单的操作,需要资金转移操作
                    MenuRepository menuRepository1 = null;
                    try {
                        menuRepository1 = new dbMenuManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    menuRepository1.DeleteMenu(menufinal);

                    PeopleRepository peopleRepository1 = null;
                    try {
                        peopleRepository1 = new DBPeopleManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    People peopleFa = peopleRepository1.FindPeople(menufinal.GetName());
                    PeopleRepository peopleRepository2 = null;
                    try {
                        peopleRepository2 = new DBPeopleManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    People peopleWant = peopleRepository2.FindPeople(menufinal.GetNameWant());
                    PeopleRepository peopleRepository3 = null;
                    try {
                        peopleRepository3 = new DBPeopleManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    peopleRepository3.ModifyMoney(peopleWant, menufinal.GetMoney(), "+");
                    PeopleRepository peopleRepository4 = null;
                    try {
                        peopleRepository4 = new DBPeopleManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    peopleRepository4.ModifyMoney(peopleFa, menufinal.GetMoney(), "-");

                    MYFrame.setVisible(false);
                    JOptionPane.showMessageDialog(null, "订单完成!");
                    if (From.equals("Home")) {
                        Home home = new Home(name);
                    }
                    else if (From.equals("ShowMyMenus")) {
                        ShowMyMenus showMyMenus = new ShowMyMenus(name);
                    }
                });
                MYFrame.add(jb1);
            }
            else {//自己查询自己订单,且未被别人下单的时候才可以修改信息
                L8.setText("未接单");
                JButton jb1 = new JButton("修改信息");
                jb1.setBounds(40, 260, 80, 30);
                jb1.addActionListener((ActionEvent e) -> {
                    MYFrame.setVisible(false);
                    ModifyMenu modifyMenu = new ModifyMenu(name, menufinal, From);
                });
                MYFrame.add(jb1);

                JButton jb2 = new JButton("删除信息");
                jb2.setBounds(140, 260, 80, 30);
                jb2.addActionListener((ActionEvent e) -> {
                    MenuRepository menuRepository1 = null;
                    try {
                        menuRepository1 = new dbMenuManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    menuRepository1.DeleteMenu(menufinal);
                    MYFrame.setVisible(false);
                    JOptionPane.showMessageDialog(null, "成功删除信息!");
                    if (From.equals("Home")) {
                        Home home = new Home(name);
                    }
                    else if (From.equals("ShowMyMenus")) {
                        ShowMyMenus showMyMenus = new ShowMyMenus(name);
                    }
                });
                MYFrame.add(jb2);
            }
        }
        else {//在查看别人的单子
            JLabel L10 = new JLabel(menu.GetName());
            L10.setBounds(85, 37, 100, 20);
            MYFrame.add(L10);
            if (menu.GetFlag()) {//别人的单子已经被自己接了
                L8.setText("已接单");
                JLabel L11 = new JLabel("接单人:我");
                L11.setBounds(33, 270, 150, 20);
                MYFrame.add(L11);
            }
            else {
                L8.setText("未接单");

                JButton jb1 = new JButton("接单");
                jb1.setBounds(60, 300, 80, 30);
                jb1.addActionListener((ActionEvent e) -> {
                    MenuRepository menuRepository1 = null;
                    try {
                        menuRepository1 = new dbMenuManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    menuRepository1.AcceptMenu(menufinal,name);

                    MYFrame.setVisible(false);
                    JOptionPane.showMessageDialog(null, "成功接单!");
                    if (From.equals("Home")) {
                        Home home = new Home(name);
                    }
                });
                MYFrame.add(jb1);
            }
        }
        L8.setBounds(85, 240, 100, 20);
        MYFrame.add(L8);

        JButton jb3 = new JButton("返回");
        jb3.setBounds(260, 300, 80, 30);
        jb3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            if (From.equals("Home")) {
                Home home = new Home(name);
            }
            else if (From.equals("ShowMyMenus")) {
                ShowMyMenus showMyMenus = new ShowMyMenus(name);
            }
            else if (From.equals("ShowMyReceive")) {
                ShowMyReceive showMyReceive = new ShowMyReceive(name);
            }
        });
        MYFrame.add(jb3);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/2
 * ShowMyMenus
 */

import com.ZHJ.Login.Login;
import com.ZHJ.Things.Menu;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.util.List;

public class ShowMyMenus extends JFrame {
    public ShowMyMenus(String name) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 430, 340);
        MYFrame.setTitle("我的发布");
        MYFrame.setResizable(false);
        MYFrame.setLocationRelativeTo(null);
        MYFrame.setLayout(null);//采用坐标布局

        MenuRepository repository = null;
        try {
            repository = new dbMenuManager();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        List<Menu> list = repository.check();

        String[] rowName = {"编号", "内容", "金额", "接单状态", "接单人"};
        int DataNum = 0;
        for (int i = 0; i < list.size(); i++) {//仅展示自己的单子
            Menu menu = list.get(i);
            if (name.equals(menu.GetName())) {
                DataNum++;
            }
        }
        Object[][] data = new Object[DataNum][5];
        for (int i = 0, j = 0; i < list.size(); i++) {
            Menu menu = list.get(i);
            if (name.equals(menu.GetName())) {
                String JieDan = "";
                String ReceivePeople = "";
                if (menu.GetFlag()) {
                    JieDan = "已被接单";
                    ReceivePeople = menu.GetNameWant();
                }
                else {
                    JieDan = "未被接单";
                }
                Object[] s = {i + 1, menu.GetText(), menu.GetMoney(), JieDan, ReceivePeople};
                data[j++] = s;
            }
        }
        final JTable table = new JTable(data, rowName);
        JScrollPane JSP = new JScrollPane(table);//这一步不能省去,否则显示不出列名
        JSP.setBounds(20, 10, 400, 200);
        MYFrame.add(JSP);

        JLabel L1 = new JLabel("您的ID:" + name);
        L1.setBounds(20, 220, 120, 20);
        MYFrame.add(L1);

        JButton jb1 = new JButton("查看信息");
        jb1.setBounds(170, 220, 100, 30);
        jb1.addActionListener((ActionEvent e) -> {
            int row = table.getSelectedRow();//选中第几行
            if (row == -1) {
                JOptionPane.showMessageDialog(null, "您没有选中信息");
                return;
            }
            int ID = (int) data[row][0];
            MYFrame.setVisible(false);
            ShowMenu showMenu = new ShowMenu(name, ID - 1, "ShowMyMenus");
        });
        MYFrame.add(jb1);
        JButton jbFresh = new JButton("刷新");
        jbFresh.setBounds(270, 220, 100, 30);
        jbFresh.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyMenus showMyMenus = new ShowMyMenus(name);
        });
        MYFrame.add(jbFresh);
        JButton jb2 = new JButton("发布求助");
        jb2.setBounds(70, 260, 100, 30);
        jb2.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            UpdateMenu updateMenu = new UpdateMenu(name, "ShowMyMenus");
        });
        MYFrame.add(jb2);

        JButton jb5 = new JButton("返回主界面");
        jb5.setBounds(270, 260, 100, 30);
        jb5.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Home home = new Home(name);
        });
        MYFrame.add(jb5);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;

/**
 * @auther ZHJ
 * @date 2020/12/4
 * ShowMyReceive
 */

import com.ZHJ.Things.Menu;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.util.List;

public class ShowMyReceive extends JFrame {
    public ShowMyReceive(String name) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 430, 340);
        MYFrame.setTitle("我的接单");
        MYFrame.setResizable(false);
        MYFrame.setLocationRelativeTo(null);
        MYFrame.setLayout(null);//采用坐标布局

        MenuRepository repository = null;
        try {
            repository = new dbMenuManager();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        List<Menu> list = repository.check();

        String[] rowName = {"编号", "内容", "金额", "发单人"};
        int DataNum = 0;
        for (int i = 0; i < list.size(); i++) {//仅展示自己接的单子
            Menu menu = list.get(i);
            if (name.equals(menu.GetNameWant()) && menu.GetFlag()) {
                DataNum++;
            }
        }
        Object[][] data = new Object[DataNum][4];
        for (int i = 0, j = 0; i < list.size(); i++) {
            Menu menu = list.get(i);
            if (name.equals(menu.GetNameWant())) {
                Object[] s = {i + 1, menu.GetText(), menu.GetMoney(), menu.GetName()};
                data[j++] = s;
            }
        }
        final JTable table = new JTable(data, rowName);
        JScrollPane JSP = new JScrollPane(table);//这一步不能省去,否则显示不出列名
        JSP.setBounds(20, 10, 400, 200);
        MYFrame.add(JSP);

        JLabel L1 = new JLabel("您的ID:" + name);
        L1.setBounds(20, 220, 120, 20);
        MYFrame.add(L1);

        JButton jb1 = new JButton("查看信息");
        jb1.setBounds(170, 220, 100, 30);
        jb1.addActionListener((ActionEvent e) -> {
            int row = table.getSelectedRow();//选中第几行
            if (row == -1) {
                JOptionPane.showMessageDialog(null, "您没有选中信息");
                return;
            }
            int ID = (int) data[row][0];
            MYFrame.setVisible(false);
            ShowMenu showMenu = new ShowMenu(name, ID - 1, "ShowMyReceive");
        });
        MYFrame.add(jb1);

        JButton jbFresh = new JButton("刷新");
        jbFresh.setBounds(270, 220, 100, 30);
        jbFresh.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyReceive showMyReceive = new ShowMyReceive(name);
        });
        MYFrame.add(jbFresh);

        JButton jb5 = new JButton("返回主界面");
        jb5.setBounds(270, 260, 100, 30);
        jb5.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Home home = new Home(name);
        });
        MYFrame.add(jb5);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/3
 * ModifyMenu
 */

import com.ZHJ.Login.Login;
import com.ZHJ.Things.Menu;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.util.List;

public class ModifyMenu extends JFrame {
    public ModifyMenu(String name, Menu OldMenu, String From) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 450, 420);
        MYFrame.setTitle("修改信息");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setResizable(false);
        MYFrame.setLayout(null);

        JLabel LL = new JLabel("修改您的求助信息");
        LL.setBounds(140, 20, 150, 20);
        MYFrame.add(LL);

        JLabel L1 = new JLabel("请输入您的求助内容:");
        L1.setBounds(40, 50, 160, 20);
        MYFrame.add(L1);

        JTextField T1 = new JTextField(50);
        T1.setText(OldMenu.GetText());
        T1.setBounds(40, 80, 330, 230);
        MYFrame.add(T1);

        JLabel L2 = new JLabel("请输入您的悬赏金额:");
        L2.setBounds(40, 320, 160, 20);
        MYFrame.add(L2);

        JTextField T2 = new JTextField(50);
        T2.setText(String.valueOf(OldMenu.GetMoney()));
        T2.setBounds(180, 320, 100, 20);
        MYFrame.add(T2);

        JButton Btn1 = new JButton("确定");
        Btn1.setBounds(40, 350, 80, 30);

        Btn1.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            String text = T1.getText();
            String bonusstring = T2.getText();
            try {
                int bonus = Integer.valueOf(bonusstring);
                if (text.length() > 0) {
                    MenuRepository menurepository = null;
                    try {
                        menurepository = new dbMenuManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    Menu NewMenu = new Menu(text, name, bonus);
                    if (menurepository.ModifyMenu(OldMenu, NewMenu)) {
                        JOptionPane.showMessageDialog(null, "成功修改求助!");
                        if (From.equals("Home")) {//从home来的
                            Home home = new Home(name);
                        }
                        else if (From.equals("ShowMyMenus")) {
                            ShowMyMenus showMyMenus = new ShowMyMenus(name);
                        }
                    }
                }
                else {
                    JOptionPane.showMessageDialog(null, "请勿发布空信息!");
                }
            } catch (Exception ee) {
                JOptionPane.showMessageDialog(null, "请输入整数金额!");
            }
        });
        MYFrame.add(Btn1);

        JButton Btn2 = new JButton("清空");
        Btn2.setBounds(120, 350, 80, 30);
        Btn2.addActionListener((ActionEvent e) -> {
            T1.setText("");
            T2.setText("");
        });
        MYFrame.add(Btn2);

        JButton Btn3 = new JButton("取消");
        Btn3.setBounds(220, 350, 80, 30);
        Btn3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            if (From.equals("Home")) {//从home来的
                Home home = new Home(name);
            }
            else if (From.equals("ShowMyMenus")) {
                ShowMyMenus showMyMenus = new ShowMyMenus(name);
            }
        });
        MYFrame.add(Btn3);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/3
 * UpdateMenu
 */
import com.ZHJ.Login.Login;
import com.ZHJ.Things.Menu;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;

/**
 * @auther ZHJ
 * @date 2020/12/2
 */
public class UpdateMenu extends JFrame {
    public UpdateMenu(String name, String From) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 450, 420);
        MYFrame.setTitle("发布信息");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setResizable(false);
        MYFrame.setLayout(null);

        JLabel LL = new JLabel("欢迎发布您的求助信息");
        LL.setBounds(140, 20, 150, 20);
        MYFrame.add(LL);

        JLabel L1 = new JLabel("请输入您的求助内容:");
        L1.setBounds(40, 50, 160, 20);
        MYFrame.add(L1);

        JTextField T1 = new JTextField(50);
        T1.setBounds(40, 80, 330, 230);
        MYFrame.add(T1);

        JLabel L2 = new JLabel("请输入您的悬赏金额:");
        L2.setBounds(40, 320, 160, 20);
        MYFrame.add(L2);

        JTextField T2 = new JTextField(50);
        T2.setBounds(180, 320, 100, 20);
        MYFrame.add(T2);

        JButton Btn1 = new JButton("确定");
        Btn1.setBounds(40, 350, 80, 30);
        Btn1.addActionListener((ActionEvent e) -> {
            String text = T1.getText();
            String bonusstring = T2.getText();
            try{
                int bonus = Integer.valueOf(bonusstring);
                if (text.length() > 0) {
                    Menu menu = new Menu(text, name, bonus);
                    MenuRepository menuRepository1 = null;
                    try {
                        menuRepository1 = new dbMenuManager();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    if (menuRepository1.ExistMenu(menu)) {
                        JOptionPane.showMessageDialog(null, "请勿发布重复信息!");
                    }
                    else {
                        MYFrame.setVisible(false);
                        MenuRepository menuRepository2 = null;
                        try {
                            menuRepository2 = new dbMenuManager();
                        } catch (SQLException throwables) {
                            throwables.printStackTrace();
                        }
                        if (menuRepository2.AddMenu(menu)) {
                            JOptionPane.showMessageDialog(null, "成功发布求助!");
                            if (From.equals("Home")) {//从home来的
                                Home home = new Home(name);
                            }
                            else if (From.equals("ShowMyMenus")) {
                                ShowMyMenus showMyMenus = new ShowMyMenus(name);
                            }
                        }
                    }
                }
                else{
                    JOptionPane.showMessageDialog(null, "请勿发布空信息!");
                }
            }catch (Exception ee){
                JOptionPane.showMessageDialog(null, "请输入整数金额!");
            }
        });
        MYFrame.add(Btn1);

        JButton Btn2 = new JButton("清空");
        Btn2.setBounds(120, 350, 80, 30);
        Btn2.addActionListener((ActionEvent e) -> {
            T1.setText("");
            T2.setText("");
        });
        MYFrame.add(Btn2);

        JButton Btn3 = new JButton("取消");
        Btn3.setBounds(220, 350, 80, 30);
        Btn3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            if (From.equals("Home")) {//从home来的
                Home home = new Home(name);
            }
            else if (From.equals("ShowMyMenus")) {
                ShowMyMenus showMyMenus = new ShowMyMenus(name);
            }
        });
        MYFrame.add(Btn3);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/1
 * ShowMyInfor
 */

import com.ZHJ.Login.Login;
import com.ZHJ.Things.People;
import com.ZHJ.dbMenu.MenuRepository;
import com.ZHJ.dbMenu.dbMenuManager;
import com.ZHJ.dbPeople.DBPeopleManager;
import com.ZHJ.dbPeople.PeopleRepository;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;

public class ShowMyInfor extends JFrame {
    public ShowMyInfor(String name) {
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 350, 200);
        MYFrame.setTitle("个人信息");
        Container c = MYFrame.getContentPane();
        c.setBackground(new Color(200, 200, 255));
        MYFrame.setResizable(false);
        MYFrame.setLayout(null);

        PeopleRepository peoplerepository = null;
        try {
            peoplerepository = new DBPeopleManager();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }

        People people = peoplerepository.FindPeople(name);
        JLabel L1 = new JLabel("账号:");
        L1.setBounds(45, 15, 50, 20);
        MYFrame.add(L1);

        JLabel L2 = new JLabel(people.GetName());
        L2.setBounds(85, 15, 100, 20);
        MYFrame.add(L2);

        JLabel L3 = new JLabel("余额:");
        L3.setBounds(45, 50, 50, 20);
        MYFrame.add(L3);

        JLabel L4 = new JLabel(String.valueOf(people.GetProperty()));
        L4.setBounds(85, 50, 100, 20);
        MYFrame.add(L4);

        JButton jb1 = new JButton("我的发布");
        jb1.setBounds(45, 90, 80, 30);
        jb1.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyMenus showMyMenus = new ShowMyMenus(name);
        });
        MYFrame.add(jb1);

        JButton jb2 = new JButton("我的接单");
        jb2.setBounds(45, 125, 80, 30);
        jb2.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            ShowMyReceive showMyReceive = new ShowMyReceive(name);
        });
        MYFrame.add(jb2);

        JButton jb3 = new JButton("余额充值");
        jb3.setBounds(180, 50, 80, 30);
        jb3.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Bonus bonus = new Bonus(name);
        });
        MYFrame.add(jb3);

        JButton jb4 = new JButton("注销账户");
        jb4.setBounds(180, 90, 80, 30);
        jb4.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            PeopleRepository peopleRepository = null;
            try {
                peopleRepository = new DBPeopleManager();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
            if (peopleRepository.DeletePeople(name)) {
                JOptionPane.showMessageDialog(null, "成功注销账户\n感谢使用!\n您的余额请联系管理员获得\n谢谢使用!");
                Login login = new Login();
            }
        });
        MYFrame.add(jb4);

        JButton jb5 = new JButton("返回主界面");
        jb5.setBounds(200, 140, 100, 30);
        jb5.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Home home = new Home(name);
        });
        MYFrame.add(jb5);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
package com.ZHJ.Home;
/**
 * @author ZHJ
 * @date 2020/12/3
 * Bonus
 */
import com.ZHJ.Login.Login;

import javax.swing.*;
import java.awt.event.ActionEvent;

public class Bonus extends JFrame {
    public Bonus(String name){
        JFrame MYFrame = new JFrame();
        MYFrame.setBounds(200, 200, 460, 450);
        MYFrame.setTitle("账号充值");
        MYFrame.setResizable(false);
        MYFrame.setLocationRelativeTo(null);
        MYFrame.setLayout(null);//采用坐标布局

        JLabel L1 = new JLabel("<html>感谢您的使用,尚不支持充值功能<br>" +
                "欢迎您通过打赏功能支持作者<br>" +
                "作者姓名:张昊杰<br>" +
                "学校:BIT</html>");
        L1.setBounds(20, 5, 300, 60);
        MYFrame.add(L1);

        JLabel P1=new JLabel(new ImageIcon("./files/ZFB.JPG"));
        P1.setBounds(20,70,200,300);
        MYFrame.add(P1);

        JLabel P2=new JLabel(new ImageIcon("./files/WX.JPG"));
        P2.setBounds(240,70,200,271);
        MYFrame.add(P2);

        JLabel L2 = new JLabel("<html>账号:"+name+"<br>请联系管理员为您充值</html>");
        L2.setBounds(20, 360, 300, 60);
        MYFrame.add(L2);

        JButton jb1 = new JButton("返回主界面");
        jb1.setBounds(320, 380, 100, 30);
        jb1.addActionListener((ActionEvent e) -> {
            MYFrame.setVisible(false);
            Home home =new Home(name);
        });
        MYFrame.add(jb1);

        MYFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        MYFrame.setVisible(true);
    }
}
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhj12399

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值