溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

發(fā)布時(shí)間:2022-01-18 16:37:02 來源:億速云 閱讀:158 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

    一、系統(tǒng)介紹

    1.開發(fā)環(huán)境

    開發(fā)工具:Eclipse2021

    JDK版本:jdk1.8

    Mysql版本:8.0.13

    2.技術(shù)選型

    Java+Swing+Mysql

    3.系統(tǒng)功能

    注冊(cè)系統(tǒng),登錄系統(tǒng);

    3.1.用戶
    • 1.歡迎頁:修改用戶姓名和密碼;

    • 2.碟片排行榜:影片的詳細(xì)信息;

    • 3.購票信息:已購買車票的信息;

    • 4.場次信息:電影場次的詳細(xì)信息;

    • 5.充值:充值余額;

    • 6.搜索電影:搜索電影的詳細(xì)信息;

    3.2.管理員
    • 1.對(duì)用戶進(jìn)行操作:用戶信息的查詢、刪除;

    • 2.對(duì)影院進(jìn)行操作:影院信息的查詢、刪除、增加;

    • 3.對(duì)場廳進(jìn)行操作:場廳信息的查詢、刪除、增加;

    • 4.對(duì)場次進(jìn)行操作:場次信息的查詢、刪除、增加;

    • 5.對(duì)電影進(jìn)行操作:電影信息的查詢、刪除、增加;

    4.數(shù)據(jù)庫

    /*
     Navicat Premium Data Transfer
     Source Server         : MySQL
     Source Server Type    : MySQL
     Source Server Version : 80013
     Source Host           : 127.0.0.1:3306
     Source Schema         : swing_movie_house
     Target Server Type    : MySQL
     Target Server Version : 80013
     File Encoding         : 65001
     Date: 21/09/2021 12:33:55
    */
     
    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, '八佰', '抗戰(zhàn)', '八佰', 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實(shí)現(xiàn)電影購票系統(tǒng)

    二、系統(tǒng)展示 

    1.注冊(cè)系統(tǒng)

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    2.登錄系統(tǒng)

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    3.用戶-歡迎界面

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    4.用戶-影片排行榜

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    5.用戶-購票信息

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    6.用戶-場次信息

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    7.用戶-充值余額

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    8.用戶-搜索電影

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    9.管理員-首頁

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    10.管理員-對(duì)用戶進(jìn)行操作

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    11.管理員-對(duì)影院進(jìn)行操作

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    12.管理員-對(duì)場廳進(jìn)行操作

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    13.管理員-對(duì)場次進(jìn)行操作

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    14.管理員-對(duì)電影進(jìn)行操作

    怎么用Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)

    三、部分代碼

    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("對(duì)用戶進(jìn)行操作");
            oper_Cinema = new JButton("對(duì)影院進(jìn)行操作");
            oper_Hall = new JButton("對(duì)場廳進(jìn)行操作");
            oper_Session = new JButton("對(duì)場次進(jìn)行操作");
            oper_Movie = new JButton("對(duì)電影進(jìn)行操作");
            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());
     
            // 設(shè)置面板外觀
            fun_panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(), "功能區(qū)"));
     
            lb_welcome = new JLabel("歡 迎 " + admin.getUname() + " 進(jìn) 入 管 理 員 功 能 界 面");
            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);
     
            // 為了不讓線程阻塞,來調(diào)用線程
            // 放入隊(duì)列當(dāng)中
            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);
        }
     
        // 開啟線程使得歡迎標(biāo)簽動(dòng)起來
        // 這是單線程
        private class thread implements Runnable {
     
            @Override
            public void run() {
                while (true) {// 死循環(huán)讓其一直移動(dòng)
                    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("時(shí)長:");
     
            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("查看評(píng)論");
            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 = { "用戶名", "評(píng)論內(nèi)容", "評(píng)論時(shí)間" };
     
            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); // 不可拉動(dòng)表格
     
            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;// 查詢時(shí)輸入的名稱
        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, "確認(rèn)是否添加?", "確認(rèn)信息",
                                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, "確認(rèn)是否刪除此影院?", "確認(rèn)信息",
                            JOptionPane.YES_NO_OPTION);
                    if (flag == JOptionPane.YES_OPTION) {
                        boolean res = cinemabiz.deleteCinemaById(id);
                        /*
                         * if(res) { //更新數(shù)據(jù) hallList = hallbiz.queryAllHall(); int hid = 0; for(int i =
                         * 0; i < hallList.size(); i++) { if(id == hallList.get(i).getCid()) { hid =
                         * hallList.get(i).getId(); hallbiz.delHall(hid); } } sessionList =
                         * sessionbiz.queryAllSession(); for(int i = 0; i < sessionList.size(); i++) {
                         * if(hid == sessionList.get(i).getHid()) {
                         * sessionbiz.delSession(sessionList.get(i).getId()); } } }
                         */
                        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 "出錯(cuò)";
                }
            }
     
            @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 "出錯(cuò)";
                }
            }
     
            @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;// 添加時(shí)輸入的所屬影院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進(jìn)行匹配,顯示影院名稱
            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,呈現(xiàn)數(shù)據(jù)
            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) {
                    // 加入選中一行,刪除按鈕變?yōu)榭捎?
                    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只能為數(shù)字!");
                    } else if (!Check.isNumber(capacity)) {
                        JOptionPane.showMessageDialog(operHallView.this, "場廳容量只能為數(shù)字!");
                    } else {
                        int flag = JOptionPane.showConfirmDialog(operHallView.this, "是否添加此場廳?", "確認(rèn)信息",
                                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) {
                    // 清除數(shù)據(jù),防止累加
                    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, "確認(rèn)是否刪除此場廳?", "確認(rèn)信息",
                            JOptionPane.YES_NO_OPTION);
                    if (flag == JOptionPane.YES_OPTION) {
                        boolean res = hallbiz.delHall(id);
                        if (res) {
                            JOptionPane.showMessageDialog(operHallView.this, "刪除成功!");
                            // 更新數(shù)據(jù)
                            List<Session> sessionList = new ArrayList<Session>();
                            sessionList = sessionbiz.queryAllSession();
                            // 刪除某場廳后,對(duì)應(yīng)的場次也進(jìn)行刪除
                            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);// 更新顯示數(shù)據(jù)
                        } 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顯示的行數(shù)
            @Override
            public int getRowCount() {
                return hallList.size();
            }
     
            // JTable顯示的列數(shù)
            @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 "出錯(cuò)";
                }
            }
     
            // JTable列的數(shù)據(jù)類型
            @Override
            public Class<?> getColumnClass(int columnIndex) {
                return String.class;
            }
     
            // 單元格是否可編輯
            @Override
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return false;
            }
     
            // 每行單元格顯示的數(shù)據(jù)
            @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 "出錯(cuò)";
                }
            }
     
            @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實(shí)現(xiàn)電影購票系統(tǒng)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI