Awt+Swing+Mysql实现超市商品交易管理系统(含全部代码)

目录

 成果展示

数据库表格准备

 绘制窗体以及组件

主窗体

登录面板

上架商品面板

下架商品面板

操作商品面板

数据面板(展示表格)

关键技术与思路

与数据库建立连接

对数据库数据进行增删改

查询数据

 验证状态

切换面板与点击触发事件

全部代码


功能介绍:

1.登录不同管理员账号

2.查看商品信息

3.查看每一单商品的交易信息

4.上架新商品

5.下架旧商品

6.售卖商品或进货商品

 成果展示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

数据库表格准备

1.商品信息表格:

表头有商品名,进价,售价,是否打折。。。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

2.商品交易详情:

表头有交易时间,交易数量,进/售货,商品名

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 3.操作员信息表格

表头有账号,密码,交易额

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

mysql创建表友情链接

mysql 建表语句 及完整案例_大蛇王的博客-CSDN博客_mysql建表语句

 idea导入mysql驱动包方法友情链接Intellij IDEA 添加jar包的三种方式_inzaghihalo的博客-CSDN博客_idea导入jar包

 绘制窗体以及组件

主窗体

        setTitle("超市管理系统");
        JMenu jm1=new JMenu("商品信息");
        JMenu jm2=new JMenu("商品管理");
        JMenuItem jmi1=new JMenu("进货商品信息");
        JMenuItem jmi2=new JMenu("商品交易信息");
        JMenuItem jmi3=new JMenu("上架商品");
        JMenuItem jmi4=new JMenu("下架商品");
        jm1.add(jmi1);
        jm1.add(jmi2);
        jm2.add(jmi3);
        jm2.add(jmi4);
        JMenuBar jmb=new JMenuBar();
        jmb.add(jm1);
        jmb.add(jm2);
        setJMenuBar(jmb);
        setBounds(300,200,400,300);
        setLayout(null);

登录面板

        JLabel l=new JLabel("超市管理系统");
        JLabel l1=new JLabel("账号:");
        JLabel l2=new JLabel("密码:");
        jtf=new JTextField(20);
        jwf=new JPasswordField(20);
        jwf.setEchoChar('*');
        b=new JButton("登录");
        l.setBounds(130,20,150,50);
        l.setForeground(Color.red);
        l.setFont(new Font("宋体",Font.BOLD,23));
        l1.setBounds(120,75,100,40);
        l2.setBounds(120,110,100,40);
        jtf.setBounds(180,75,100,30);
        jwf.setBounds(180,110,100,30);
        b.setBounds(170,170,70,40);
        add(l);
        add(l1);
        add(l2);
        add(jtf);
        add(jwf);
        add(b);
        setLayout(null);

上架商品面板

 JLabel l1=new JLabel("商品名称:");
        JLabel l2=new JLabel("进   价:");
        JLabel l3=new JLabel("售   价:");
        JLabel l4=new JLabel("是否打折:");
        JTextField jtf1=new JTextField(20);
        JTextField jtf2=new JTextField(20);
        JTextField jtf3=new JTextField(20);
        JRadioButton jrb1=new JRadioButton("是");
        JRadioButton jrb2=new JRadioButton("否");
        jrb2.setSelected(true);
        JButton b=new JButton("确认");
        ButtonGroup bg=new ButtonGroup();
        bg.add(jrb1);
        bg.add(jrb2);
        l1.setBounds(20,20,70,30);
        l2.setBounds(20,70,70,30);
        l3.setBounds(20,120,70,30);
        l4.setBounds(20,170,70,30);
        jtf1.setBounds(90,25,90,20);
        jtf2.setBounds(90,75,90,20);
        jtf3.setBounds(90,125,90,20);
        jrb1.setBounds(90,175,70,20);
        jrb2.setBounds(140,175,70,20);
        b.setBounds(200,75,70,30);
        add(l1);
        add(l2);
        add(l3);
        add(l4);
        add(jtf1);
        add(jtf2);
        add(jtf3);
        add(jrb1);
        add(jrb2);
        add(b);
        setLayout(null);

下架商品面板

        JLabel l=new JLabel("选择需要下架的商品:");
        JComboBox jcb=new JComboBox(jdbc.str2);
        JButton b=new JButton("确定");
        l.setBounds(100,70,130,30);
        jcb.setBounds(250,70,70,30);
        b.setBounds(150,120,70,40);
        add(l);
        add(jcb);
        add(b);

操作商品面板

        JLabel l1=new JLabel("选择进售货");
        String []str1={"进货","销售"};
        JComboBox jcb1=new JComboBox(str1);
        JLabel l2=new JLabel("选择商品");
        JComboBox jcb2=new JComboBox(new JDBC().str2);
        JLabel l3=new JLabel("选择件数");
        JTextField jtf=new JTextField(20);
        JButton b=new JButton("确认");
        l1.setBounds(20,20,70,30);
        jcb1.setBounds(120,20,100,30);
        l2.setBounds(20,80,70,30);
        jcb2.setBounds(120,80,100,30);
        l3.setBounds(20,150,70,30);
        jtf.setBounds(120,150,100,30);
        b.setBounds(260,80,70,30);
        add(l1);
        add(l2);
        add(l3);
        add(jcb1);
        add(jcb2);
        add(jtf);
        add(b);
        setLayout(null);

数据面板(展示表格)

                JTable jt=new JTable(str,name);
                jt.setPreferredScrollableViewportSize(new Dimension(350,200));
                JScrollPane jsp=new JScrollPane(jt);
                add(jsp,BorderLayout.CENTER);

关键技术与思路

与数据库建立连接

通过Class.forName("com.mysql.jdbc.Driver");
初始化驱动类com.mysql.jdbc.Driver
就在 mysql-connector-java-5.0.8-bin.jar中

示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class TestJDBC {
    public static void main(String[] args) {
 
        try {
            Class.forName("com.mysql.jdbc.Driver");
 
            // 建立与数据库的Connection连接
            // 这里需要提供:
            // 数据库所处于的ip:127.0.0.1 (本机)
            // 数据库的端口号: 3306 (mysql专用端口号)
            // 数据库名称 how2java
            // 编码方式 UTF-8
            // 账号 root
            // 密码 admin
 
            Connection c = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",
                            "root", "admin");
 
            System.out.println("连接成功,获取连接对象: " + c);
 
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
    }
}

对数据库数据进行增删改

示例代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
  
public class TestJDBC {
    public static void main(String[] args) {
  
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
  
        try (
            Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",
                "root", "admin");
            Statement s = c.createStatement();              
        )
        {
            String sql = "insert into hero values(null," + "'提莫'" + "," + 313.0f + "," + 50 + ")";//增
//String sql = "delete from hero where id = 5";删
// String sql = "update hero set name = 'name 5' where id = 3";改
            s.execute(sql);
              
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

查询数据

示例代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestJDBC {
	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",
				"root", "admin"); Statement s = c.createStatement();) {

			String sql = "select * from hero";

			// 执行查询语句,并把结果集返回给ResultSet
			ResultSet rs = s.executeQuery(sql);
			while (rs.next()) {
				int id = rs.getInt("id");// 可以使用字段名
				String name = rs.getString(2);// 也可以使用字段的顺序
				float hp = rs.getFloat("hp");
				int damage = rs.getInt(4);
				System.out.printf("%d\t%s\t%f\t%d%n", id, name, hp, damage);
			}
			// 不一定要在这里关闭ReultSet,因为Statement关闭的时候,会自动关闭ResultSet
			// rs.close();

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

关于采集数据及建立表格友情链接

java的JTable表格的制作,读取数据库表中数据放到JTable表格中_上官绝岚的博客-CSDN博客

 验证状态

对于在窗体中要进行的操作我们要验证是否已经登录,对于没有登录的状态不能访问打开其他面板。并且要记录下来是哪个账号在登录。

需定义全局变量

    boolean status=false;//默认是未登录
    String Iname;

切换面板与点击触发事件

我们需要展示不同的面板在同一个窗体里,于是需要切换面板。

详细步骤:

java实现面板之间的切换_无忧#的博客-CSDN博客

在面板中有很多按钮,我们点击按钮或菜单栏来执行一次事件

示例代码

        jmi1.addItemListener(e -> {//进货商品信息
            if (status){
                setContentPane(cp);
                revalidate();
            }
        });

全部代码

确保数据库中已经建立各个表格,已导入驱动包。

1.创建如下工程以及类

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5b-nIw==,size_20,color_FFFFFF,t_70,g_se,x_16

 2.复制以下各类代码

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Admin {
    public Map<String,String> map=new HashMap<>();
    public List<operator> list=new ArrayList<>();
    public Admin(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            try (
                    Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=UTF-8",
                            "root", "root")) {
                PreparedStatement ps = c.prepareStatement("select *from operator");
                ResultSet res= ps.executeQuery();//获取的结果
                res.last();
                int row=res.getRow();
                res.beforeFirst();
                res.next();
                for (int i=0;i<row;i++){
                    int id=Integer.parseInt(res.getString("id"));
                    String name=res.getString("name");
                    String password=res.getString("pwd");
                    String sum=res.getString("sum");
                    map.put(name,password);
                    list.add(new operator(id,name,password,sum));
                    res.next();
                }
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}
import javax.swing.*;
import java.awt.*;

public class commodityPanel extends JPanel {
    public commodityPanel(){
       JDBC jdbc=new JDBC();
        String []name={"id","商品名","进价","售价","是否打折"};
        JTable jt=new JTable(jdbc.str1,name);
        jt.setPreferredScrollableViewportSize(new Dimension(350,200));
        JScrollPane jsp=new JScrollPane(jt);
        add(jsp,BorderLayout.CENTER);
    }

}
import javax.swing.*;
import java.util.Objects;

public class Frame extends JFrame {
    boolean status=false;
    String Iname;
    Admin admin=new Admin();
    public Frame(){
        setTitle("超市管理系统");
        JMenu jm1=new JMenu("商品信息");
        JMenu jm2=new JMenu("商品管理");
        JMenuItem jmi1=new JMenu("进货商品信息");
        JMenuItem jmi2=new JMenu("商品交易信息");
        JMenuItem jmi3=new JMenu("上架商品");
        JMenuItem jmi4=new JMenu("下架商品");
        JMenuItem jmi5=new JMenu("交易商品");
        jm1.add(jmi1);
        jm1.add(jmi2);
        jm2.add(jmi3);
        jm2.add(jmi4);
        jm2.add(jmi5);
        JMenuBar jmb=new JMenuBar();
        jmb.add(jm1);
        jmb.add(jm2);
        setJMenuBar(jmb);
        setBounds(300,200,400,300);
        setLayout(null);
        Login_panel jl=new Login_panel();
        commodityPanel cp=new commodityPanel();
        setContentPane(jl);
        jmi1.addItemListener(e -> {//进货商品信息
            if (status){
                setContentPane(cp);
                revalidate();
            }
        });
        jmi2.addItemListener(e -> {//商品交易详情
            if (status){
                setContentPane(new Transaction_panel());
                revalidate();
                pack();
            }
        });
        jmi3.addItemListener(e -> {
            if (status){
                setContentPane(new Put_panel());
                revalidate();
            }
        });
        jmi4.addItemListener(e -> {
            if (status){
                setContentPane(new Off_panel());
                revalidate();
            }
        });
        jmi5.addItemListener(e -> {
            if (status){
                setContentPane(new Operation_panel(Iname));
                revalidate();
            }
        });
        jl.b.addActionListener(e -> {//售货员登录
                if (Objects.equals(admin.map.get(jl.jtf.getText()), jl.jwf.getText()) &&admin.map.containsKey(jl.jtf.getText())) {
                    status=true;
                    Iname=jl.jtf.getText();
                    setContentPane(new Operation_panel(jl.jtf.getText()));
                    revalidate();
                    JOptionPane.showMessageDialog(null,"登陆成功","提示",JOptionPane.WARNING_MESSAGE);
                }else JOptionPane.showMessageDialog(null,"账号或密码错误","警告",JOptionPane.ERROR_MESSAGE);
        });
        setVisible(true);
    }
}
import java.sql.*;
import java.util.HashMap;
import java.util.Map;

public class JDBC {
    public  String[][]str1;
    public  String[]str2;
    public Map<String,String> jin=new HashMap<>();
    public Map<String,String> shou=new HashMap<>();
    public  JDBC(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            try (
                    Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=UTF-8",
                    "root", "root")) {
                PreparedStatement ps = c.prepareStatement("select *from store");
                ResultSet res= ps.executeQuery();//获取的结果
                res.last();
                int row=res.getRow();
                res.beforeFirst();
                str1=new String[row][5];
                str2=new String[row];
                res.next();
                for (int i=0;i<row;i++){
                    str1[i][0]=res.getString("id");
                    str1[i][1]=res.getString("commodityname");
                    str2[i]=str1[i][1];
                    str1[i][2]=res.getString("Unit_Price");
                    jin.put(str1[i][1],str1[i][2]);
                    str1[i][3]=res.getString("price");
                    shou.put(str1[i][1],str1[i][3]);
                    str1[i][4]=res.getString("Discount");
                    res.next();
                }
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}
import javax.swing.*;
import java.awt.*;

public class Login_panel extends JPanel {
    public JButton b;
    public JTextField jtf;
    public JPasswordField jwf;
    public Login_panel(){
        JLabel l=new JLabel("超市管理系统");
        JLabel l1=new JLabel("账号:");
        JLabel l2=new JLabel("密码:");
        jtf=new JTextField(20);
        jwf=new JPasswordField(20);
        jwf.setEchoChar('*');
        b=new JButton("登录");
        l.setBounds(130,20,150,50);
        l.setForeground(Color.red);
        l.setFont(new Font("宋体",Font.BOLD,23));
        l1.setBounds(120,75,100,40);
        l2.setBounds(120,110,100,40);
        jtf.setBounds(180,75,100,30);
        jwf.setBounds(180,110,100,30);
        b.setBounds(170,170,70,40);
        add(l);
        add(l1);
        add(l2);
        add(jtf);
        add(jwf);
        add(b);
        setLayout(null);
    }
}
import javax.swing.*;

public class Off_panel extends JPanel {
    JDBC jdbc=new JDBC();
    public Off_panel(){
        JLabel l=new JLabel("选择需要下架的商品:");
        JComboBox jcb=new JComboBox(jdbc.str2);
        JButton b=new JButton("确定");
        l.setBounds(100,70,130,30);
        jcb.setBounds(250,70,70,30);
        b.setBounds(150,120,70,40);
        add(l);
        add(jcb);
        add(b);
        b.addActionListener(e -> {
            String name= (String) jcb.getSelectedItem();
            String url="delete from store where commodityname = '"+name+"'";
            new Transaction(url);
            JOptionPane.showMessageDialog(null,"已下架","提示",JOptionPane.INFORMATION_MESSAGE);
        });
    }
}
import javax.swing.*;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;
public class Operation_panel extends JPanel {
    Admin admin=new Admin();
    JDBC jdbc=new JDBC();
    public String username;
    public Operation_panel(String username){
        this.username=username;
        JLabel l1=new JLabel("选择进售货");
        String []str1={"进货","销售"};
        JComboBox jcb1=new JComboBox(str1);
        JLabel l2=new JLabel("选择商品");
        JComboBox jcb2=new JComboBox(new JDBC().str2);
        JLabel l3=new JLabel("选择件数");
        JTextField jtf=new JTextField(20);
        JButton b=new JButton("确认");
        l1.setBounds(20,20,70,30);
        jcb1.setBounds(120,20,100,30);
        l2.setBounds(20,80,70,30);
        jcb2.setBounds(120,80,100,30);
        l3.setBounds(20,150,70,30);
        jtf.setBounds(120,150,100,30);
        b.setBounds(260,80,70,30);
        b.addActionListener(e -> {
            Date date=new Date();
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy:MM:dd HH-mm");
            String str= sdf.format(date);
            String str2=jtf.getText();//个数
            String str3= (String) jcb1.getSelectedItem();//进货/售货
            String str4= (String) jcb2.getSelectedItem();//商品名
            String sum="1";
            for (int i=0;i<admin.list.size();i++){
                if (Objects.equals(admin.list.get(i).name, username))sum=String.valueOf(admin.list.get(i).sum);
            }
            String jj=jdbc.jin.get(str4);
            String sj=jdbc.shou.get(str4);
            BigDecimal bd1=new BigDecimal(str2).multiply(new BigDecimal(jj));
            BigDecimal bd2=new BigDecimal(str2).multiply(new BigDecimal(sj));
            if (str3.equals("进货")){
                sum=(String.valueOf(new BigDecimal(sum).subtract(bd1)));
            }else {
                sum=String.valueOf(new BigDecimal(sum).add(bd2));
            }
            String url1="insert into shell values (null, '"+str+"','" +str2+"','"+str3+"','" +str4+"')";
            System.out.println(username);
            String url2="update operator set sum = '"+sum+"' where  name= '"+username+"'";
            System.out.println(url2);
            new Transaction(url1);
            new Transaction(url2);
        });
        add(l1);
        add(l2);
        add(l3);
        add(jcb1);
        add(jcb2);
        add(jtf);
        add(b);
        setLayout(null);
    }
}
public class operator {
    int id;
    String name;
    String password;
    String sum;
    public operator(int id,String name,String password,String sum){
        this.id=id;
        this.name=name;
        this.password=password;
        this.sum=sum;
    }
}
import javax.swing.*;

public class Put_panel extends JPanel {
    public Put_panel(){
        JLabel l1=new JLabel("商品名称:");
        JLabel l2=new JLabel("进   价:");
        JLabel l3=new JLabel("售   价:");
        JLabel l4=new JLabel("是否打折:");
        JTextField jtf1=new JTextField(20);
        JTextField jtf2=new JTextField(20);
        JTextField jtf3=new JTextField(20);
        JRadioButton jrb1=new JRadioButton("是");
        JRadioButton jrb2=new JRadioButton("否");
        jrb2.setSelected(true);
        JButton b=new JButton("确认");
        ButtonGroup bg=new ButtonGroup();
        bg.add(jrb1);
        bg.add(jrb2);
        l1.setBounds(20,20,70,30);
        l2.setBounds(20,70,70,30);
        l3.setBounds(20,120,70,30);
        l4.setBounds(20,170,70,30);
        jtf1.setBounds(90,25,90,20);
        jtf2.setBounds(90,75,90,20);
        jtf3.setBounds(90,125,90,20);
        jrb1.setBounds(90,175,70,20);
        jrb2.setBounds(140,175,70,20);
        b.setBounds(200,75,70,30);
        add(l1);
        add(l2);
        add(l3);
        add(l4);
        add(jtf1);
        add(jtf2);
        add(jtf3);
        add(jrb1);
        add(jrb2);
        add(b);
        setLayout(null);
        b.addActionListener(e -> {
            String name=jtf1.getText();
            String Jprice=jtf2.getText();
            String Sprice=jtf3.getText();
            String bool;
            if(jrb1.isSelected())bool="是";
            else bool="否";
            String url="insert into store values (null, '"+name+"', '"+Jprice+"', '"+Sprice+"' ,'"+bool+"')";
            new Transaction(url);
        });
    }
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Transaction {
    public  Transaction(String sql){
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try (
                Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=UTF-8",
                        "root", "root");
                Statement s = c.createStatement()
        )
        {
            s.execute(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
import javax.swing.*;
import java.awt.*;
import java.sql.*;

public class Transaction_panel extends JPanel {
    public Transaction_panel(){//销售面板
        try {
            Class.forName("com.mysql.jdbc.Driver");
            try (
                    Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=UTF-8",
                            "root", "root")) {
                PreparedStatement ps = c.prepareStatement("select *from shell");
                ResultSet res= ps.executeQuery();//获取的结果
                res.last();
                int row=res.getRow();
                res.beforeFirst();
                String[][] str=new String[row][5];
                res.next();
                for (int i=0;i<row;i++){
                    str[i][0]=res.getString("id");
                    str[i][1]=res.getString("date");
                    str[i][2]=res.getString("count");
                    str[i][3]=res.getString("Pname");
                    str[i][4]=res.getString("Oname");
                    res.next();
                }
                String []name={"编号","交易时间","交易数量","进货/售货","商品名称"};
                JTable jt=new JTable(str,name);
                jt.setPreferredScrollableViewportSize(new Dimension(350,200));
                JScrollPane jsp=new JScrollPane(jt);
                add(jsp,BorderLayout.CENTER);
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}
public class Main {
    public static void main(String[] args) {
        new Frame();
    }
}

3.运行Main类

如有问题请留言交流,谢谢

猜你喜欢

转载自blog.csdn.net/weixin_52473454/article/details/123957931