iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么用Eclipse+Java+Swing+Mysql实现电影购票系统
  • 421
分享到

怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

2023-06-26 06:06:25 421人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”文章能帮助大家解决疑惑,下

本文小编为大家详细介绍“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    一、系统介绍

    1.开发环境

    开发工具:Eclipse2021

    JDK版本:jdk1.8

    Mysql版本:8.0.13

    2.技术选型

    Java+Swing+mysql

    3.系统功能

    注册系统,登录系统;

    3.1.用户
    • 欢迎页:修改用户姓名和密码;

    • 碟片排行榜:影片的详细信息;

    • 购票信息:已购买车票的信息;

    • 场次信息:电影场次的详细信息;

    • 充值:充值余额;

    • 搜索电影:搜索电影的详细信息;

    3.2.管理员
    • 对用户进行操作:用户信息的查询、删除;

    • 对影院进行操作:影院信息的查询、删除、增加;

    • 对场厅进行操作:场厅信息的查询、删除、增加;

    • 对场次进行操作:场次信息的查询、删除、增加;

    • 对电影进行操作:电影信息的查询、删除、增加;

    4.数据库

     SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; -- ------------------------------ Table structure for cinema-- ----------------------------DROP TABLE IF EXISTS `cinema`;CREATE TABLE `cinema`  (  `cinema_id` int(11) NOT NULL AUTO_INCREMENT,  `cname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  PRIMARY KEY (`cinema_id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of cinema-- ----------------------------INSERT INTO `cinema` VALUES (6, '光明影院', '湖北武汉');INSERT INTO `cinema` VALUES (7, '大同影院', '湖南长沙'); -- ------------------------------ Table structure for comment-- ----------------------------DROP TABLE IF EXISTS `comment`;CREATE TABLE `comment`  (  `comment_id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` int(11) NOT NULL,  `movie_id` int(11) NOT NULL,  `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `datetime` datetime(0) NULL DEFAULT NULL,  PRIMARY KEY (`comment_id`) USING BTREE,  INDEX `comment_ibfk_1`(`user_id`) USING BTREE,  INDEX `comment_ibfk_2`(`movie_id`) USING BTREE,  CONSTRaiNT `comment_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE ON UPDATE RESTRICT,  CONSTRAINT `comment_ibfk_2` FOREIGN KEY (`movie_id`) REFERENCES `movie` (`movie_id`) ON DELETE CASCADE ON UPDATE RESTRICT) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of comment-- ---------------------------- -- ------------------------------ Table structure for hall-- ----------------------------DROP TABLE IF EXISTS `hall`;CREATE TABLE `hall`  (  `hall_id` int(11) NOT NULL AUTO_INCREMENT,  `hname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `capacity` int(11) NULL DEFAULT NULL,  `cinema_id` int(11) NOT NULL,  PRIMARY KEY (`hall_id`) USING BTREE,  INDEX `hall_ibfk_1`(`cinema_id`) USING BTREE,  CONSTRAINT `hall_ibfk_1` FOREIGN KEY (`cinema_id`) REFERENCES `cinema` (`cinema_id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of hall-- ----------------------------INSERT INTO `hall` VALUES (12, '1厅', 50, 6); -- ------------------------------ Table structure for movie-- ----------------------------DROP TABLE IF EXISTS `movie`;CREATE TABLE `movie`  (  `movie_id` int(11) NOT NULL AUTO_INCREMENT,  `mname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '电影类型',  `detail` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `duration` int(11) NULL DEFAULT NULL,  `img` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '保存图片名称',  PRIMARY KEY (`movie_id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of movie-- ----------------------------INSERT INTO `movie` VALUES (12, '八佰', '抗战', '八佰', 120, NULL);INSERT INTO `movie` VALUES (13, '春秋', '历史', '春秋', 150, NULL);INSERT INTO `movie` VALUES (15, '1', '1', '1', 1, NULL); -- ------------------------------ Table structure for session-- ----------------------------DROP TABLE IF EXISTS `session`;CREATE TABLE `session`  (  `session_id` int(11) NOT NULL AUTO_INCREMENT,  `hall_id` int(11) NOT NULL,  `cinema_id` int(11) NOT NULL,  `movie_id` int(11) NOT NULL,  `starttime` varchar(11) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `price` double NULL DEFAULT NULL,  `remain` int(11) NULL DEFAULT NULL,  PRIMARY KEY (`session_id`) USING BTREE,  INDEX `hall_id`(`hall_id`) USING BTREE,  INDEX `cinema_id`(`cinema_id`) USING BTREE,  INDEX `movie_id`(`movie_id`) USING BTREE,  CONSTRAINT `session_ibfk_1` FOREIGN KEY (`hall_id`) REFERENCES `hall` (`hall_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,  CONSTRAINT `session_ibfk_2` FOREIGN KEY (`cinema_id`) REFERENCES `cinema` (`cinema_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,  CONSTRAINT `session_ibfk_3` FOREIGN KEY (`movie_id`) REFERENCES `movie` (`movie_id`) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of session-- ----------------------------INSERT INTO `session` VALUES (14, 12, 6, 12, '09:00:00', 50, 47); -- ------------------------------ Table structure for ticket-- ----------------------------DROP TABLE IF EXISTS `ticket`;CREATE TABLE `ticket`  (  `ticket_id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` int(11) NOT NULL,  `movie_id` int(11) NOT NULL,  `session_id` int(11) NOT NULL,  `seat` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  PRIMARY KEY (`ticket_id`) USING BTREE,  INDEX `ticket_ibfk_1`(`user_id`) USING BTREE,  INDEX `ticket_ibfk_2`(`movie_id`) USING BTREE,  INDEX `ticket_ibfk_3`(`session_id`) USING BTREE,  CONSTRAINT `ticket_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,  CONSTRAINT `ticket_ibfk_2` FOREIGN KEY (`movie_id`) REFERENCES `movie` (`movie_id`) ON DELETE CASCADE ON UPDATE CASCADE,  CONSTRAINT `ticket_ibfk_3` FOREIGN KEY (`session_id`) REFERENCES `session` (`session_id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 64 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of ticket-- ----------------------------INSERT INTO `ticket` VALUES (64, 1, 12, 14, '3'); -- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user`  (  `user_id` int(11) NOT NULL AUTO_INCREMENT,  `uname` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `passwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,  `type` int(11) NULL DEFAULT 0 COMMENT '0代表普通用户,1代表管理员',  `balance` double NULL DEFAULT NULL,  `level` int(11) NULL DEFAULT NULL,  PRIMARY KEY (`user_id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ------------------------------ Records of user-- ----------------------------INSERT INTO `user` VALUES (1, 'user', 'user', 0, 161, 1);INSERT INTO `user` VALUES (2, 'admin', 'admin', 1, 1, 1); SET FOREIGN_KEY_CHECKS = 1;

    5.工程截图

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    二、系统展示 

    1.注册系统

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    2.登录系统

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    3.用户-欢迎界面

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    4.用户-影片排行榜

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    5.用户-购票信息

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    6.用户-场次信息

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    用户-充值余额

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    8.用户-搜索电影

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    9.管理员-首页

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    10.管理员-对用户进行操作

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    11.管理员-对影院进行操作

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    12.管理员-对场厅进行操作

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    13.管理员-对场次进行操作

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    14.管理员-对电影进行操作

    怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    三、部分代码

    AdminMainView.java

    package view; import java.awt.BorderLayout;import java.awt.Color;import java.awt.EventQueue;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.BorderFactory;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDesktopPane;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel; import entity.User; public class AdminMainView extends JFrame {    private JPanel main_panel = null;    private JPanel fun_panel = null;    private JDesktopPane fundesk = null;     private JButton oper_User = null;    private JButton oper_Cinema = null;    private JButton oper_Hall = null;    private JButton oper_Session = null;    private JButton oper_Movie = null;    private JButton back = null;     private JLabel lb_welcome = null;    private JLabel lb_image = null;    private User admin = null;     public AdminMainView() {        init();        ReGISterListener();    }     public AdminMainView(User admin) {        this.admin = admin;        init();        RegisterListener();    }     private void init() {        main_panel = new JPanel(new BorderLayout());        fun_panel = new JPanel(new GridLayout(8, 1, 0, 18));        oper_User = new JButton("对用户进行操作");        oper_Cinema = new JButton("对影院进行操作");        oper_Hall = new JButton("对场厅进行操作");        oper_Session = new JButton("对场次进行操作");        oper_Movie = new JButton("对电影进行操作");        back = new JButton("返回");         fun_panel.add(new JLabel());        fun_panel.add(oper_User);        fun_panel.add(oper_Cinema);        fun_panel.add(oper_Hall);        fun_panel.add(oper_Session);        fun_panel.add(oper_Movie);        fun_panel.add(back);        fun_panel.add(new JLabel());         // 设置面板外观        fun_panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(), "功能区"));         lb_welcome = new JLabel("欢 迎 " + admin.getUname() + " 进 入 管 理 员 功 能 界 面");        lb_welcome.setFont(new Font("楷体", Font.BOLD, 34));        lb_welcome.setForeground(Color.BLUE);         fundesk = new JDesktopPane();        ImageIcon img = new ImageIcon(ClassLoader.getSystemResource("image/beijjing3.jpg"));        lb_image = new JLabel(img);        lb_image.setBounds(10, 10, img.getIconWidth(), img.getIconHeight());        fundesk.add(lb_image, new Integer(Integer.MIN_VALUE));         main_panel.add(lb_welcome, BorderLayout.NORTH);        main_panel.add(fun_panel, BorderLayout.EAST);        main_panel.add(fundesk, BorderLayout.CENTER);         // 为了不让线程阻塞,来调用线程        // 放入队列当中        EventQueue.invokeLater(new Runnable() {             public void run() {                new Thread(new thread()).start();            }        });         this.setTitle("管理员功能界面");        this.getContentPane().add(main_panel);        this.setSize(880, 600);        this.setResizable(false);        this.setVisible(true);        this.setLocationRelativeTo(null);        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }     // 开启线程使得欢迎标签动起来    // 这是单线程    private class thread implements Runnable {         @Override        public void run() {            while (true) {// 死循环让其一直移动                for (int i = 900; i > -700; i--) {                    // for(int i=-100;i<900;i++){                    try {                        Thread.sleep(10);// 让线程休眠100毫秒                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    lb_welcome.setLocation(i, 5);                }            }        }     }     private void RegisterListener() {        oper_User.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operUserView ouv = new operUserView();                fundesk.add(ouv);                ouv.toFront();            }        });         oper_Cinema.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operCinemaView ocv = new operCinemaView();                fundesk.add(ocv);                ocv.toFront();            }        });         oper_Hall.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operHallView ohv = new operHallView();                fundesk.add(ohv);                ohv.toFront();            }        });         oper_Session.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operSessionView osv = new operSessionView();                fundesk.add(osv);                osv.toFront();            }        });         oper_Movie.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operMovieView omv = new operMovieView();                fundesk.add(omv);                omv.toFront();            }        });        back.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                new Login();                AdminMainView.this.dispose();            }        });    }}

    MovieInfoView.java

    package view; import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.SimpleDateFormat;import java.util.List; import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.jscrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.LayoutStyle.ComponentPlacement;import javax.swing.border.EmptyBorder;import javax.swing.table.DefaultTableModel; import entity.Comment;import entity.Movie;import entity.User;import service.CommentService;import service.MovieService;import service.UserService;import serviceimpl.CommentServiceImpl;import serviceimpl.MovieServiceImpl;import serviceimpl.UserServiceImpl; public class MovieInfoView extends JFrame {     private JPanel contentPane;    private JTable table;    JScrollPane scrollPane = null;     Movie movie = null;    User user = null;    MovieService ms = null;    CommentService cs = null;    UserService us = null;     public MovieInfoView(Movie movie, User user) {        this.movie = movie;        this.user = user;        ms = new MovieServiceImpl();        cs = new CommentServiceImpl();        us = new UserServiceImpl();        setTitle("用户选票界面");        setBounds(260, 130, 620, 600);        this.setLocationRelativeTo(null);         contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);         JLabel lblNewLabel = new JLabel("New label");        lblNewLabel.setIcon(new ImageIcon("image/" + movie.getImg()));         JLabel label = new JLabel("正在热映···");         JLabel lblNewLabel_1 = new JLabel("影片名:");        lblNewLabel_1.setFont(new Font("楷体", Font.BOLD, 18));         JLabel label_1 = new JLabel("类型:");         JLabel label_2 = new JLabel("时长:");         JLabel label_3 = new JLabel("电影详情:");         JLabel label_4 = new JLabel(movie.getMname());        label_4.setFont(new Font("楷体", Font.BOLD, 18));         JButton btnNewButton = new JButton("购买");        btnNewButton.setForeground(Color.BLUE);        btnNewButton.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                new UserUi(user, 3);                movie.getMovie_id();                List<Movie> movieByName = ms.getMovieByName(movie.getMname());                 for (Movie movie2 : movieByName) {                    System.out.println(movie2);                }                MovieInfoView.this.dispose();             }        });         JButton button = new JButton("取消");        button.setForeground(Color.RED);        button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                MovieInfoView.this.dispose();            }        });         scrollPane = new JScrollPane();        scrollPane.setEnabled(false);        scrollPane.setVisible(false);         JButton button_1 = new JButton("查看评论");        button_1.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                scrollPane.setVisible(true);                showComment();                table.repaint();             }        });         button_1.setForeground(Color.MAGENTA);         JLabel lblNewLabel_2 = new JLabel("欢迎来到电影详情界面");        lblNewLabel_2.setFont(new Font("新宋体", Font.BOLD, 20));        lblNewLabel_2.setForeground(Color.BLACK);         JLabel label_5 = new JLabel(movie.getType());         JLabel label_6 = new JLabel(movie.getDuration() + "分钟");         JLabel label_7 = new JLabel(movie.getDetail());         GroupLayout gl_contentPane = new GroupLayout(contentPane);        gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING).addGroup(gl_contentPane                .createSequentialGroup()                .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)                        .addGroup(gl_contentPane.createSequentialGroup().addGap(218)                                .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)                                        .addGroup(gl_contentPane.createSequentialGroup().addComponent(label_3)                                                .addPreferredGap(ComponentPlacement.RELATED).addComponent(label_7,                                                        GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE))                                        .addGroup(gl_contentPane.createSequentialGroup().addComponent(lblNewLabel_1)                                                .addPreferredGap(ComponentPlacement.RELATED)                                                .addComponent(label_4, GroupLayout.PREFERRED_SIZE, 137,                                                        GroupLayout.PREFERRED_SIZE))                                        .addGroup(gl_contentPane.createSequentialGroup()                                                .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)                                                        .addComponent(label_2)                                                        .addGroup(gl_contentPane.createSequentialGroup()                                                                .addPreferredGap(ComponentPlacement.RELATED)                                                                .addComponent(label_1)))                                                .addGap(4)                                                .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)                                                        .addComponent(label_6, GroupLayout.PREFERRED_SIZE, 55,                                                                GroupLayout.PREFERRED_SIZE)                                                        .addComponent(label_5, GroupLayout.PREFERRED_SIZE, 82,                                                                GroupLayout.PREFERRED_SIZE)))                                        .addGroup(gl_contentPane.createSequentialGroup().addComponent(btnNewButton)                                                .addGap(18)                                                .addComponent(button, GroupLayout.PREFERRED_SIZE, 71,                                                        GroupLayout.PREFERRED_SIZE)                                                .addGap(18).addComponent(button_1))))                        .addGroup(gl_contentPane.createSequentialGroup().addGap(36).addComponent(label))                        .addGroup(gl_contentPane.createSequentialGroup().addGap(170).addComponent(lblNewLabel_2))                        .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 200, GroupLayout.PREFERRED_SIZE)                        .addGroup(gl_contentPane.createSequentialGroup().addGap(84).addComponent(scrollPane,                                GroupLayout.PREFERRED_SIZE, 464, GroupLayout.PREFERRED_SIZE)))                .addContainerGap(46, Short.MAX_VALUE)));        gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)                .addGroup(gl_contentPane.createSequentialGroup()                        .addGroup(gl_contentPane                                .createParallelGroup(Alignment.LEADING)                                .addGroup(gl_contentPane.createSequentialGroup().addGap(46).addComponent(label)                                        .addPreferredGap(ComponentPlacement.UNRELATED)                                        .addComponent(lblNewLabel, GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE))                                .addGroup(gl_contentPane.createSequentialGroup().addContainerGap()                                        .addComponent(lblNewLabel_2).addGap(58)                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)                                                .addComponent(lblNewLabel_1).addComponent(label_4,                                                        GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE))                                        .addPreferredGap(ComponentPlacement.RELATED, 53, Short.MAX_VALUE)                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)                                                .addComponent(label_1).addComponent(label_5))                                        .addGap(18)                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)                                                .addComponent(label_2).addComponent(label_6))                                        .addGap(18)                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)                                                .addComponent(label_3).addComponent(label_7))                                        .addGap(125)                                        .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)                                                .addComponent(btnNewButton).addComponent(button)                                                .addComponent(button_1))))                        .addGap(28)                        .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 139, GroupLayout.PREFERRED_SIZE)));         showComment();        scrollPane.setViewportView(table);        contentPane.setLayout(gl_contentPane);        this.setVisible(true);    }     public void showComment() {        List<Comment> commlist = cs.getAllCommentByMovieId(movie.getMovie_id());        int recordrow = 0;         if (commlist != null) {            recordrow = commlist.size();        }        String[][] rinfo = new String[recordrow][3];         SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm");        for (int i = 0; i < recordrow; i++) {            for (int j = 0; j < 3; j++) {                rinfo[i][j] = new String();                 rinfo[i][0] = us.queryUserById(commlist.get(i).getUser_id()).getUname();                rinfo[i][1] = commlist.get(i).getContent();                rinfo[i][2] = sdf.format(commlist.get(i).getDatetime());            }        }         String[] tbheadnames = { "用户名", "评论内容", "评论时间" };         table = new JTable(rinfo, tbheadnames);        table.setBorder(null);        table.setRowHeight(20);        table.setEnabled(false);        table.getColumnModel().getColumn(0).setPreferredWidth(30);        table.getTableHeader().setFont(new Font("楷体", 1, 20));        table.getTableHeader().setBackground(Color.CYAN);        table.getTableHeader().setReorderingAllowed(false); // 不可交换顺序        table.getTableHeader().setResizingAllowed(true); // 不可拉动表格         scrollPane.add(table);        scrollPane.setBorder(null);         table.repaint();     }}

    operCinemaView.java

    package view; import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.ArrayList;import java.util.List; import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JInternalFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel; import entity.Cinema;import service.CinemaService;import serviceimpl.CinemaServiceImpl; public class operCinemaView extends JInternalFrame {    private JPanel pl_main = null;    private JPanel pl_button = null;    private JPanel pl_text = null;    private JTable table = null;    private JButton btn_add = null;    private JButton btn_query = null;    private JButton btn_del = null;    private JComboBox<String> cb_query = null;    private JButton btn_back = null;    private JLabel lb_name = null;    private JLabel lb_address = null;    private JTextField tf_qname = null;// 查询时输入的名称    private JTextField tf_name = null;// 添加输入的名称    private JTextField tf_address = null;    private CinemaService cinemabiz = null;    private List<Cinema> cinemaList = null;    private CinemaInfoTableModel infoTableModel = null;//    private List<Hall> hallList = null;//    private List<Session> sessionList = null;//    private HallBiz hallbiz = null;//    private SessionBiz sessionbiz = null;     public operCinemaView() {        cinemabiz = new CinemaServiceImpl();//        hallbiz = new HallBizImpl();//        sessionbiz = new SessionBizImpl();        init();        RegisterListener();    }     private void init() {        pl_main = new JPanel(new BorderLayout());        pl_button = new JPanel(new GridLayout(8, 1, 0, 40));        pl_text = new JPanel(new GridLayout(1, 4));        cinemaList = new ArrayList<Cinema>();        table = new JTable();        refreshTable(cinemaList);        cb_query = new JComboBox<String>(new String[] { "查询所有影院", "按名字查找影院" });        tf_qname = new JTextField(8);        tf_qname.setEnabled(false);        btn_query = new JButton("查询");        btn_add = new JButton("增添影院");        btn_del = new JButton("删除影院");        btn_del.setEnabled(false);        btn_back = new JButton("退出窗口");        lb_name = new JLabel("影院名称: ");        tf_name = new JTextField(8);        lb_address = new JLabel("影院地址: ");        tf_address = new JTextField(12);        pl_main.add(table.getTableHeader(), BorderLayout.PAGE_START);        pl_main.add(table);        pl_main.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(null, null), "查询信息"));        pl_button.add(new JLabel());        pl_button.add(cb_query);        pl_button.add(tf_qname);        pl_button.add(btn_query);        pl_button.add(btn_add);        pl_button.add(btn_del);        pl_button.add(new JLabel());        pl_button.add(btn_back);         pl_text.add(lb_name);        pl_text.add(tf_name);        pl_text.add(lb_address);        pl_text.add(tf_address);        this.add(pl_main, BorderLayout.CENTER);        this.add(pl_button, BorderLayout.EAST);        this.add(pl_text, BorderLayout.NORTH);        this.setVisible(true);        this.setTitle("影院操作界面");        this.setSize(700, 530);        this.setIconifiable(true);        this.setClosable(true);        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);    }     private void RegisterListener() {         table.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                if (table.getSelectedRow() != -1) {                    btn_del.setEnabled(true);                }                int row = table.getSelectedRow();                String name = table.getValueAt(row, 1).toString();                String address = table.getValueAt(row, 2).toString();                tf_name.setText(name);                tf_address.setText(address);            }        });        cb_query.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                if (cb_query.getSelectedIndex() + 1 == 2) {                    tf_qname.setEnabled(true);                } else {                    tf_qname.setEnabled(false);                }            }        });        btn_query.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                if (cb_query.getSelectedIndex() + 1 == 1) {                    cinemaList = cinemabiz.queryAllCinema();                    refreshTable(cinemaList);                } else {                    String name = tf_qname.getText().trim();                    cinemaList = cinemabiz.queryCinemaByName(name);                    refreshTable(cinemaList);                }            }        });         btn_add.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                String name = tf_name.getText().trim();                String address = tf_address.getText().trim();                if (name.equals("")) {                    JOptionPane.showMessageDialog(operCinemaView.this, "影院名称不能为空!");                } else if (address.equals("")) {                    JOptionPane.showMessageDialog(operCinemaView.this, "影院地址不能为空!");                } else {                    int flag = JOptionPane.showConfirmDialog(operCinemaView.this, "确认是否添加?", "确认信息",                            JOptionPane.YES_NO_OPTION);                    if (flag == JOptionPane.YES_OPTION) {                        Cinema cinema = new Cinema(name, address);                        boolean res = cinemabiz.addCinema(cinema);                        if (res) {                            cinemaList = cinemabiz.queryAllCinema();                            refreshTable(cinemaList);                            JOptionPane.showMessageDialog(operCinemaView.this, "添加成功!");                        } else {                            JOptionPane.showMessageDialog(operCinemaView.this, "添加失败!");                        }                    }                }            }        });         btn_del.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                int row = table.getSelectedRow();                int id = (Integer) table.getValueAt(row, 0);                int flag = JOptionPane.showConfirmDialog(operCinemaView.this, "确认是否删除此影院?", "确认信息",                        JOptionPane.YES_NO_OPTION);                if (flag == JOptionPane.YES_OPTION) {                    boolean res = cinemabiz.deleteCinemaById(id);                                        cinemaList = cinemabiz.queryAllCinema();                    refreshTable(cinemaList);                }            }        });        btn_back.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operCinemaView.this.dispose();            }        });    }     public class CinemaInfoTableModel implements TableModel {        public List<Cinema> cinemaList = null;         public CinemaInfoTableModel(List<Cinema> cinemaList) {            this.cinemaList = cinemaList;        }         @Override        public int getRowCount() {            return cinemaList.size();        }         @Override        public int getColumnCount() {            return 3;        }         @Override        public String getColumnName(int columnIndex) {            if (columnIndex == 0) {                return "影院ID";            } else if (columnIndex == 1) {                return "影院名称";            } else if (columnIndex == 2) {                return "影院地址";            } else {                return "出错";            }        }         @Override        public Class<?> getColumnClass(int columnIndex) {            return String.class;        }         @Override        public boolean isCellEditable(int rowIndex, int columnIndex) {            return false;        }         @Override        public Object getValueAt(int rowIndex, int columnIndex) {            Cinema cinema = cinemaList.get(rowIndex);            if (columnIndex == 0) {                return cinema.getCinema_id();            } else if (columnIndex == 1) {                return cinema.getCname();            } else if (columnIndex == 2) {                return cinema.getAddress();            } else {                return "出错";            }        }         @Override        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {            // TODO Auto-generated method stub         }         @Override        public void addTableModelListener(TableModelListener l) {            // TODO Auto-generated method stub         }         @Override        public void removeTableModelListener(TableModelListener l) {            // TODO Auto-generated method stub         }    }     private void refreshTable(List<Cinema> cinemaList) {        infoTableModel = new CinemaInfoTableModel(cinemaList);        table.setModel(infoTableModel);        table.setRowHeight(20);    }}

    operHallView.java

    package view; import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.ArrayList;import java.util.List; import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JInternalFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel; import entity.Cinema;import entity.Hall;import entity.Session;import service.CinemaService;import service.HallService;import serviceimpl.CinemaServiceImpl;import serviceimpl.HallServiceImpl;import serviceimpl.SessionServiceImpl;import util.Check; public class operHallView extends JInternalFrame {    private JPanel pl_main = null;    private JPanel pl_button = null;    private JPanel pl_text = null;    private JTable table = null;    private JButton btn_add = null;    private JButton btn_del = null;    private JButton btn_query = null;    private JButton btn_back = null;    private JLabel lb_name = null;    private JLabel lb_cid = null;    private JLabel lb_capacity = null;    private JTextField tf_name = null;// 添加输入的名称    private JTextField tf_cid = null;// 添加时输入的所属影院id    private JTextField tf_capacity = null;// 添加输入的名称    private HallService hallbiz = null;    private CinemaService cinemabiz = null;    private SessionServiceImpl sessionbiz = null;    private List<Hall> hallList = null;    private HallInfoTableModel infoTableModel = null;     public operHallView() {        hallbiz = new HallServiceImpl();        cinemabiz = new CinemaServiceImpl();// 查询出所有的影院与cid进行匹配,显示影院名称        sessionbiz = new SessionServiceImpl();        init();        RegisterListener();    }     private void init() {        pl_main = new JPanel(new BorderLayout());        pl_button = new JPanel(new GridLayout(6, 1, 0, 40));        pl_text = new JPanel(new GridLayout(1, 6));        hallList = new ArrayList<Hall>();        table = new JTable();        // 绑定JTabel,呈现数据        refreshTable(hallList);        btn_query = new JButton("查询所有场厅");        btn_add = new JButton("增添场厅");        btn_del = new JButton("删除场厅");        btn_del.setEnabled(false);        btn_back = new JButton("退出窗口");        tf_name = new JTextField(8);        tf_cid = new JTextField(8);        tf_capacity = new JTextField(8);        lb_name = new JLabel("场厅名称");        lb_cid = new JLabel("所属影院id");        lb_capacity = new JLabel("场厅容量");        pl_main.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(null, null), "查询信息"));        pl_main.add(table.getTableHeader(), BorderLayout.PAGE_START);        pl_main.add(table);        this.add(pl_main, BorderLayout.CENTER);         pl_button.add(new JLabel());        pl_button.add(btn_query);        pl_button.add(btn_add);        pl_button.add(btn_del);        pl_button.add(new JLabel());        pl_button.add(btn_back);        this.add(pl_button, BorderLayout.EAST);         pl_text.add(lb_name);        pl_text.add(tf_name);        pl_text.add(lb_cid);        pl_text.add(tf_cid);        pl_text.add(lb_capacity);        pl_text.add(tf_capacity);        this.add(pl_text, BorderLayout.NORTH);        this.setVisible(true);        this.setTitle("场厅操作界面");        this.setSize(700, 530);        this.setIconifiable(true);        this.setClosable(true);        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);    }     private void RegisterListener() {        table.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                // 加入选中一行,删除按钮变为可用                if (table.getSelectedRow() != -1) {                    btn_del.setEnabled(true);                }                int row = table.getSelectedRow();                String name = table.getValueAt(row, 1).toString();                String cid = table.getValueAt(row, 2).toString();                String capacity = table.getValueAt(row, 3).toString();                tf_name.setText(name);                tf_cid.setText(cid);                tf_capacity.setText(capacity);            }        });         btn_add.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                String name = tf_name.getText().trim();                String cid = tf_cid.getText().trim();                String capacity = tf_capacity.getText().trim();                if (name.equals("")) {                    JOptionPane.showMessageDialog(operHallView.this, "场厅名称不能为空!");                } else if (cid.equals("")) {                    JOptionPane.showMessageDialog(operHallView.this, "所属影院id不能为空!");                } else if (capacity.equals("")) {                    JOptionPane.showMessageDialog(operHallView.this, "场厅容量不能为空!");                } else if (!Check.isNumber(cid)) {                    JOptionPane.showMessageDialog(operHallView.this, "所属影院id只能为数字!");                } else if (!Check.isNumber(capacity)) {                    JOptionPane.showMessageDialog(operHallView.this, "场厅容量只能为数字!");                } else {                    int flag = JOptionPane.showConfirmDialog(operHallView.this, "是否添加此场厅?", "确认信息",                            JOptionPane.YES_NO_OPTION);                    if (flag == JOptionPane.YES_OPTION) {                        Hall hall = new Hall(name, new Integer(capacity), new Integer(cid));                        boolean res = hallbiz.addHall(hall);                         hallList = hallbiz.queryAllHall();                        refreshTable(hallList);                        if (res) {                            JOptionPane.showMessageDialog(operHallView.this, "添加成功!");                        } else {                            JOptionPane.showMessageDialog(operHallView.this, "添加失败!");                        }                    }                }            }        });        btn_query.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                // 清除数据,防止累加                if (hallList != null) {                    hallList.clear();                }                hallList = hallbiz.queryAllHall();                refreshTable(hallList);            }        });        btn_del.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                int row = table.getSelectedRow();                int id = (Integer) table.getValueAt(row, 0);                int flag = JOptionPane.showConfirmDialog(operHallView.this, "确认是否删除此场厅?", "确认信息",                        JOptionPane.YES_NO_OPTION);                if (flag == JOptionPane.YES_OPTION) {                    boolean res = hallbiz.delHall(id);                    if (res) {                        JOptionPane.showMessageDialog(operHallView.this, "删除成功!");                        // 更新数据                        List<Session> sessionList = new ArrayList<Session>();                        sessionList = sessionbiz.queryAllSession();                        // 删除某场厅后,对应的场次也进行删除                        int sid = 0;                        for (int i = 0; i < sessionList.size(); i++) {                            if (id == sessionList.get(i).getHall_id()) {                                sid = sessionList.get(i).getSession_id();                                sessionbiz.delSession(sid);                            }                        }                        hallList = hallbiz.queryAllHall();                        refreshTable(hallList);// 更新显示数据                    } else {                        JOptionPane.showMessageDialog(operHallView.this, "删除失败!");                    }                }            }        });        btn_back.addActionListener(new ActionListener() {             @Override            public void actionPerformed(ActionEvent e) {                operHallView.this.dispose();            }        });    }     private class HallInfoTableModel implements TableModel {        public List<Hall> hallList = null;         public HallInfoTableModel(List<Hall> hallList) {            this.hallList = hallList;        }         // JTable显示的行数        @Override        public int getRowCount() {            return hallList.size();        }         // JTable显示的列数        @Override        public int getColumnCount() {            return 4;        }         // JTable显示各行的名称        @Override        public String getColumnName(int columnIndex) {            if (columnIndex == 0) {                return "场厅ID";            } else if (columnIndex == 1) {                return "场厅名称";            } else if (columnIndex == 2) {                return "所属影院";            } else if (columnIndex == 3) {                return "场厅容量";            } else {                return "出错";            }        }         // JTable列的数据类型        @Override        public Class<?> getColumnClass(int columnIndex) {            return String.class;        }         // 单元格是否可编辑        @Override        public boolean isCellEditable(int rowIndex, int columnIndex) {            return false;        }         // 每行单元格显示的数据        @Override        public Object getValueAt(int rowIndex, int columnIndex) {            Hall hall = hallList.get(rowIndex);            Cinema cinema = null;            if (columnIndex == 0) {                return hall.getHall_id();            } else if (columnIndex == 1) {                return hall.getHname();            } else if (columnIndex == 2) {                List<Cinema> cinemaList = cinemabiz.queryAllCinema();                for (int i = 0; i < cinemaList.size(); i++) {                    if (hall.getCinema_id() == cinemaList.get(i).getCinema_id()) {                        cinema = cinemaList.get(i);                        break;                    }                }                return cinema.getCname();                // return hall.getCid();            } else if (columnIndex == 3) {                return hall.getCapacity();            } else {                return "出错";            }        }         @Override        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {            // TODO Auto-generated method stub         }         @Override        public void addTableModelListener(TableModelListener l) {            // TODO Auto-generated method stub         }         @Override        public void removeTableModelListener(TableModelListener l) {            // TODO Auto-generated method stub         }    }     private void refreshTable(List<Hall> hallList) {        infoTableModel = new HallInfoTableModel(hallList);        table.setModel(infoTableModel);        table.setRowHeight(20);    }}

    读到这里,这篇“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网数据库频道。

    您可能感兴趣的文档:

    --结束END--

    本文标题: 怎么用Eclipse+Java+Swing+Mysql实现电影购票系统

    本文链接: https://www.lsjlt.com/news/307359.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 怎么用Eclipse+Java+Swing+Mysql实现电影购票系统
      本文小编为大家详细介绍“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Eclipse+Java+Swing+Mysql实现电影购票系统”文章能帮助大家解决疑惑,下...
      99+
      2023-06-26
    • Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
      目录一、系统介绍1.开发环境2.技术选型3.系统功能3.1.用户3.2.管理员4.数据库5.工程截图二、系统展示 1.注册系统2.登录系统3.用户-欢迎界面4.用户-影片排...
      99+
      2024-04-02
    • 基于Java+SSM实现电影院购票系统
      目录项目介绍效果图展示实现逻辑代码MovieControllerNewsControllerIndexControllerUserController项目介绍 基于Spring,Sp...
      99+
      2024-04-02
    • Eclipse+Java+Swing+Mysql实现工资管理系统
      目录一、系统介绍1.开发环境2.技术选型3.系统功能4.数据库二、系统展示1.登录系统2.用户-登录系统3.用户-查看工资4.管理员-主界面6.管理员-修改员工信息7.管理员-删除员...
      99+
      2024-04-02
    • Java如何实现电影院订票系统
      小编给大家分享一下Java如何实现电影院订票系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势。。。但是由于时间原因,小编并未在代码中添加可...
      99+
      2023-05-30
      java
    • 利用Python实现电影订票系统
      目录一、效果展示二、整体结构图 三、代码分解3.1infos.py 3.2seat_book.py3.3film_selector.py3.4main....
      99+
      2024-04-02
    • 基于Python实现电影售票系统
      目录一、系统要求二、用户信息三、主要代码四、效果图展示一、系统要求 电影售票系统程序,应具备以下几点功能: 1.用户认证 系统用户分为用户、管理员两个角色,系统可根据不同用户角色权限...
      99+
      2024-04-02
    • 电影院订票售票系统设计与实现
          项目背景和意义   目的:本课题主要目标是设计并能够实现一个基于java的电影院订票选座系统,系统整体使用了基于java+MySql的B/S架构,技术上使用了springboot框架;使用浏览器,管理员通过后台添加电影、场次...
      99+
      2023-10-07
      java 开发语言
    • 基于java springboot + mybatis实现电影售票管理系统
      目录主要功能实现前端主要功能实现后台主要功能实现主要截图展示前台影院首页电影信息电影详情电影评价选座功能选座主要前端代码设计提交订单影片订单详情/取票影院信息影院详情资讯信息我的个人...
      99+
      2024-04-02
    • 基于Python如何实现电影售票系统
      基于Python如何实现电影售票系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、系统要求电影售票系统程序,应具备以下几点功能:用户认证系统用户分为用户、管...
      99+
      2023-06-22
    • Eclipse+Java+Swing实现图书管理系统(详细代码)
      目录一、系统介绍二、系统展示1.注册2.登录5.管理员端-添加图书类别6.管理员端-修改图书类别7.管理员端-添加图书8.管理员端-修改图书9.管理员端-管理用户信息10.管理员端-...
      99+
      2024-04-02
    • JS怎么实现电影票选座
      本文小编为大家详细介绍“JS怎么实现电影票选座”,内容详细,步骤清晰,细节处理妥当,希望这篇“JS怎么实现电影票选座”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。简单模拟电影票选座,详细代码如下:利用js实现给l...
      99+
      2023-06-29
    • 基于Java+SpringBoot+Thymeleaf+Mysql旅游景区景点售票购票系统系统设计与实现
      项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的景区景点预约购票系统,整体使用java+MySql的B/S架构,技术上采用了springboot框架;通过后台添加景区资讯、景点介绍,管理用户订单;用户通过小程序登...
      99+
      2023-10-22
      java 数据库
    • Java+Swing+MySQL实现学生选课管理系统
      目录 一、系统介绍 1.运行环境 2.技术说明 3.系统功能 4.数据库实体E-R图设计 5.数据库表的设计 二、系统实现  1.用户登录 2.主界面   3.数据库连接 4.数据查询 5.查询课程信息 6.添加学生信息 7.修改学生信息...
      99+
      2023-09-25
      mysql java 数据库
    • Java+swing+Mysql实现商品销售管理系统
      目录前言数据库的建立Java系统entity包data包 Login包windows包主系统类前言 临近期末做了一个商品销售管理系统,分享下,全部源码在码云,需要自取,博客...
      99+
      2024-04-02
    • 基于Java(SpringBoot框架)毕业设计作品成品(07)在线选座电影售票购票系统设计与实现
      博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题...
      99+
      2023-10-24
      课程设计 电影院售票系统 电影院订票系统毕业设计 毕设 毕业设计 计算机毕业设计
    • PHP怎么实现投票系统
      本篇内容介绍了“PHP怎么实现投票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实现代码1.sql-- phpMyAdmi...
      99+
      2023-06-30
    • Java实战之用Swing实现通讯录管理系统
      一、系统介绍  1.系统功能 登录系统 查询信息 新增信息 修改信息 删除信息 2.环境配置 JDK版本:1.8 Mysql:8...
      99+
      2024-04-02
    • Java怎么实现简易购物系统
      这篇文章主要介绍了Java怎么实现简易购物系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现简易购物系统文章都会有所收获,下面我们一起来看看吧。用基本语句去实现一个购物系统package&nbs...
      99+
      2023-06-30
    • 教你用Java Swing实现自助取款机系统
      一、系统介绍 系统功能 1.登录系统 2.查询余额 3.取款 4.存款 5.转账 6.修改密码 7.退出系统 JDK版本:...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作