基于java+mysql的swing+java+mysql电影院购票电影票管理系统(管理员、用户)(java+swing+mysql+gui)

基于java+mysql的swing+java+mysql电影院购票电影票管理系统(管理员、用户)(java+swing+mysql+gui)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

后台管理员:管理电影、影院、场次等

前台用户:查看电影、购票、评论等

eclipse/myeclipse

idea

后台管理员:

前台用户:

技术框架

Java Swing MySQL

基于java的Swing+Java+MySQL电影院购票电影票管理系统(管理员、用户)(java+swing+mysql+gui)

		
		JLabel lblNewLabel_3 = new JLabel("价格:");
		lblNewLabel_3.setFont(new Font("楷体", Font.PLAIN, 20));
		
		jpriceText = new JTextField();
		jpriceText.setFont(new Font("楷体", Font.PLAIN, 20));
		jpriceText.setColumns(10);
		
		JLabel lblNewLabel_4 = new JLabel("时间:");
		lblNewLabel_4.setFont(new Font("楷体", Font.PLAIN, 20));
		
		jtimeText = new JTextField();
		jtimeText.setFont(new Font("楷体", Font.PLAIN, 20));
		jtimeText.setColumns(10);
		
		JLabel lblNewLabel_5 = new JLabel("剩余座位:");
		lblNewLabel_5.setFont(new Font("楷体", Font.PLAIN, 20));
		
		jremainText = new JTextField();
		jremainText.setFont(new Font("楷体", Font.PLAIN, 20));
		jremainText.setColumns(10);
		
		JButton btnNewButton = new JButton("添加场次");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				addsessionactionPerformed(e);
			}
		});
		btnNewButton.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JLabel lblNewLabel_6 = new JLabel("电影院");
		lblNewLabel_6.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JLabel lblNewLabel_7 = new JLabel("场厅");
		lblNewLabel_7.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JLabel lblNewLabel_8 = new JLabel("场次");
		lblNewLabel_8.setFont(new Font("楷体", Font.PLAIN, 20));
		GroupLayout groupLayout = new GroupLayout(getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.TRAILING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(254)
					.addComponent(lblNewLabel_6)
					.addPreferredGap(ComponentPlacement.RELATED, 751, Short.MAX_VALUE)
					.addComponent(lblNewLabel_7)
					.addGap(297))
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(269)
					.addComponent(lblNewLabel_8)
					.addContainerGap(1093, Short.MAX_VALUE))
													.addGap(95)
													.addComponent(btnNewButton_1))
												.addGroup(groupLayout.createSequentialGroup()
													.addPreferredGap(ComponentPlacement.RELATED)
													.addComponent(timeText, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE))))
										.addGroup(groupLayout.createSequentialGroup()
											.addComponent(lblNewLabel_5)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(moviepicadreText))
										.addGroup(groupLayout.createSequentialGroup()
											.addComponent(lblNewLabel_2)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(movielangText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
											.addGap(18)
											.addComponent(lblNewLabel_3)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(mlocaText, GroupLayout.PREFERRED_SIZE, 92, GroupLayout.PREFERRED_SIZE)
											.addGap(18)
											.addComponent(lblNewLabel_4)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(movieTypeText, GroupLayout.PREFERRED_SIZE, 91, GroupLayout.PREFERRED_SIZE)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(lblNewLabel_9)
											.addPreferredGap(ComponentPlacement.RELATED)
											.addComponent(scoreText, GroupLayout.PREFERRED_SIZE, 46, GroupLayout.PREFERRED_SIZE)))
									.addGap(57)
									.addComponent(movieDeText, GroupLayout.PREFERRED_SIZE, 484, GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
									.addGap(135)
									.addComponent(btnNewButton))
								.addGroup(groupLayout.createSequentialGroup()
									.addContainerGap()
									.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 1201, GroupLayout.PREFERRED_SIZE)))
							.addGap(1079)
							.addComponent(txtrDetailtest, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
					.addContainerGap())
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(57)
					.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
						.addComponent(lblNewLabel_6)
						.addComponent(lblNewLabel_7)
						.addComponent(serNameText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(serbtn)
						.addComponent(serTypecomboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
					.addGap(61)
					.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 310, GroupLayout.PREFERRED_SIZE)
					.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
						.addGroup(groupLayout.createSequentialGroup()
		// 加上影院地址
		String[] tbheadnames = { "场次编号", "场厅名称", "影院名称", "影院地址", "电影名称", "开始时间", "价格", "剩余座位数" };*/
		tb = new JTable() {
			public boolean isCellEditable(int row, int column) {
				return false;
			}

		};
		tb.setModel(new DefaultTableModel(
				new Object[][] {
				},
				new String[] {
					"场次编号", "场厅名称", "影院名称","影院地址","电影名称","开始时间","价格","剩余座位数"
				}
			) {
				boolean[] columnEditables = new boolean[] {
					false, false, false, false,false,false,false,false
				};
				public boolean isCellEditable(int row, int column) {
					return columnEditables[column];
				}
			});
		DefaultTableCellRenderer r = new DefaultTableCellRenderer();
		fillsessiontable(sessionlist);
		r.setHorizontalAlignment(JLabel.CENTER);
		tb.setDefaultRenderer(Object.class, r);
		tb.setRowHeight(90);
		tb.setFont(font);
		/* tb.setEnabled(true); */
		tb.getTableHeader().setFont(new Font("楷体", 1, 20));
		tb.getTableHeader().setBackground(Color.orange);
		tb.getTableHeader().setReorderingAllowed(false); // 不可交换顺序
		tb.getTableHeader().setResizingAllowed(false); // 不可拉动表格
		tb.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent me) {
				tablemousePressed(me);
			}
		});
		JScrollPane sPane = new JScrollPane(tb);
		jb.setBounds(0, 100, 1788, 795);
		sPane.setBounds(0, 100, 1800, 800);
		sPane.setVisible(true);
		search.setBounds(200, 60, 150, 60);
		search.setFont(font1);
		serchText.setBounds(400, 60, 250, 60);
		serchText.setFont(font1);
		serbtn.setBounds(700, 60, 200, 60);
		serbtn.setFont(font1);
		serbtn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub

public class SessionUi {
	private Movie mo;
	private User ue;
	private SessionService seser = new SessionServiceImpl();
	private CinemaService cinema = new CinemaServiceImpl();
	private HallService hall = new HallServiceImpl();
	private Font font = new Font("楷体", 0, 20);
	private Font font1 = new Font("楷体", 0, 28);
	private JFrame jf = new JFrame("电影购票系统");
	private JLabel jb = new JLabel();
	private JTable tb;// 表
	private int row = -1;// 行
	private Container con = jf.getContentPane();
	private JPanel p = new JPanel();
	private JButton jBuyticket = new JButton("选座购票");
	private JButton jreturn=new JButton("返回上一层");
	private List<Session> sessionlist;
    private JLabel search=new JLabel("影院名");
    private JTextField serchText=new JTextField();
    private JButton serbtn=new JButton("搜索场次");
	public SessionUi(Movie mo, User ue) {
		this.mo = mo;
		this.ue = ue;
		p.setLayout(null);
		sessionlist = seser.querySessionBymId(mo.getmId());
		int sessionRow = sessionlist.size();
		Hall h = new Hall();
		Cinema ci = new Cinema();
	/*	String[][] rinfo = new String[sessionRow][8];
		for (int i = 0; i < sessionRow; i++) {
			h = hall.queryHallById(sessionlist.get(i).gethId());
			ci = cinema.queryCinemaById(sessionlist.get(i).getcId());
			rinfo[i][0] = String.valueOf(sessionlist.get(i).getsId());
			rinfo[i][1] = h.gethName();
			rinfo[i][2] = ci.getCname();
			rinfo[i][3] = ci.getCaddress();
			rinfo[i][4] = mo.getmName();
						.addComponent(jsIdtext, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblNewLabel_1))
					.addGap(93)
					.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
						.addComponent(jtimeText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblNewLabel_4)
						.addComponent(jremainText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblNewLabel_5))
					.addGap(51)
					.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
						.addComponent(btnNewButton)
						.addComponent(btnNewButton_1))
					.addGap(95))
		);
		cinemalist=cinemaservice.queryAllCinema();
		/*fillCinemaTable(cinemalist);
		
			
		halllist=hallservice.queryAllHall();
		fillhalltableTable(halllist);
		r.setHorizontalAlignment(JLabel.CENTER);
		fillhalltableTable(halllist);*/
		DefaultTableCellRenderer r = new DefaultTableCellRenderer();
		r.setHorizontalAlignment(JLabel.CENTER);
		    sessiontable = new JTable(){
			  public boolean isCellEditable( int row, int column) {
					return false;
				}

			};
		
			sessiontable.setModel(new DefaultTableModel(
					new Object[][] {
					},
					new String[] {
						"场次编号", "场厅编号", "影院编号","电影编号","开始时间","价格","剩余座位"
					}
				) {
					boolean[] columnEditables = new boolean[] {
						false, false, false, false,false,false,false
					};
					public boolean isCellEditable(int row, int column) {
						return columnEditables[column];
					}
				});
					public boolean isCellEditable(int row, int column) {
						return columnEditables[column];
					}
				});
			sessionlist=sessionservice.queryAllSession();
			fillsessiontable(sessionlist);
			r.setHorizontalAlignment(JLabel.CENTER);
			sessiontable.setDefaultRenderer(Object.class, r);
			sessiontable.setRowHeight(70);
			sessiontable.setFont(font);
			sessiontable.getTableHeader().setFont(new Font("楷体", 1, 20));
			sessiontable.getTableHeader().setBackground(Color.orange);
			sessiontable.getTableHeader().setReorderingAllowed(false); // 不可交换顺序
			sessiontable.getTableHeader().setResizingAllowed(false); // 不可拉动表格
			sessiontable.getColumnModel().getColumn(4).setPreferredWidth(200);
			sessiontable.addMouseListener(new MouseAdapter() {
				@Override
				public void mousePressed(MouseEvent me) {
					sessiontablemousePressed(me);
				}
			});
		scrollPane_2.setViewportView(sessiontable);
		getContentPane().setLayout(groupLayout);
		this.setVisible(true);

	}
	protected void searchactionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		String mName=sernametext.getText();
		Movie movie=movieservice.queryMovieByName(mName);
		if(movie!=null) {
			sessionlist=sessionservice.querySessionBymId(movie.getmId());
			fillsessiontable(sessionlist);
		}
		
		
	}

	protected void delactionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(sessionrow!=-1) {
		if(judge()) {
			try {
				int sId=Integer.parseInt(jsIdtext.getText());
				int hId=Integer.parseInt(jhallText.getText());
				int cId=Integer.parseInt(jcIdText.getText());
				int mId=Integer.parseInt(jmIdText.getText());
				}
			}
			sessionlist=sesslist;
			fillsessiontable(sessionlist);
		}
		
	}

	private void fillsessiontable(List<Session> sessionlist2) {
		// TODO Auto-generated method stub
		DefaultTableModel dtm=(DefaultTableModel) tb.getModel();
		dtm.setRowCount(0); // 设置成0行
		Hall h = new Hall();
		Cinema ci = new Cinema();
		int sessionRow=sessionlist2.size();
		for(int i=0;i<sessionRow;i++) {
			h = hall.queryHallById(sessionlist2.get(i).gethId());
			ci = cinema.queryCinemaById(sessionlist2.get(i).getcId());
			Vector v=new Vector();
			v.add(sessionlist2.get(i).getsId());
			v.add(h.gethName());
			v.add(ci.getCname());
			v.add(ci.getCaddress());
			v.add(mo.getmName());
			v.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(sessionlist2.get(i).getBeginTime()));
			v.add(sessionlist2.get(i).getPrice());
			v.add(sessionlist2.get(i).getRemain());
			dtm.addRow(v);
		}
	}

	protected void returnActionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
		new MovieUi(mo,ue);
		jf.dispose();
	}

	protected void buyActionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		movietb.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent me) {
				movietbmousePressed(me);
			}
		});
      JScrollPane moviesPane = new JScrollPane(movietb);		
      moviesPane.setBounds(0, 510, 1800, 450);
		card2.add(moviesPane);
		//科幻电影
		tabbedPane.addTab("科幻", card3);				
		sciencelist=mo.queryMovieByType("科幻");
		int row1 = (sciencelist.size() + 3) / 4;
		int k1 = sciencelist.size();
		 btn_label1 = new JLabel[row1][4];
		 card1_btn1 = new JButton[k1];
		dname1 = new JLabel[row1][4];
		 locality_language1 = new JLabel[row1][4];
		 type_grade1 = new JLabel[row1][4];
		JLabel allinfo1 = new JLabel();//包含所有信息
		String[] cnames1 = { "", "", "", "" };
		JTable tb1 = new JTable(btn_label1, cnames1);
		allinfo1.setSize(1610, 602 * row1);
		tb1.setRowHeight(600);
		int x1 = 0;
		ImageIcon img1 = null;
		for (int i = 0; i < row1; i++) {
			for (int j = 0; j < 4 && x1 < k1; j++) {
				if (sciencelist.get(x1).getmPicaddress() != null) {
					img1 = new ImageIcon(sciencelist.get(x1).getmPicaddress());
				} else {
					img1 = defaultImg;
				}
				card1_btn1[x1] = new JButton(img1);//按钮
				card1_btn1[x1].setText(sciencelist.get(x1).getmId()+"");
				card1_btn1[x1].setBounds(0, 0, 400, 500);
				card1_btn1[x1].addActionListener(this);
				dname1[i][j] = new JLabel("片名:" + sciencelist.get(x1).getmName()+"   评分:"+sciencelist.get(x1).getmGrade());
				dname1[i][j].setBounds(0, 510, 400, 30);
				dname1[i][j].setFont(font);
				locality_language1[i][j] = new JLabel(
						"地区:" + sciencelist.get(x1).getMlocality() + "  语言:" + sciencelist.get(x1).getMlanguage());
				locality_language1[i][j].setBounds(0, 540, 400, 30);
				locality_language1[i][j].setFont(font1);
				type_grade1[i][j] = new JLabel(
						"类型:" + (sciencelist.get(x1).getmType()) + "   " + "时长 :" + sciencelist.get(x1).getmDuration() + "分钟"); 
				type_grade1[i][j].setBounds(0, 570, 400, 30);
				type_grade1[i][j].setFont(font2);
				btn_label1[i][j] = new JLabel();
				btn_label1[i][j].setBounds(402 * j + 1, 600 * i, 400, 600);
				btn_label1[i][j].add(dname1[i][j]);
				btn_label1[i][j].add(locality_language1[i][j]);
				btn_label1[i][j].add(type_grade1[i][j]);
				btn_label1[i][j].add(card1_btn1[x1]);
	private HallService hallservice=new HallServiceImpl();
	private SessionService sessionservice=new SessionServiceImpl();
	private MovieService movieservice=new MovieServiceImpl();
	private JTable cinematable;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					AddSession frame = new AddSession();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public AddSession() {
		setIconifiable(true);
		setClosable(true);
		setTitle("添加场次");
		setBounds(100, 100, 1400, 900);
		
		JScrollPane scrollPane = new JScrollPane();
		
		JScrollPane scrollPane_1 = new JScrollPane();
		
		JScrollPane scrollPane_2 = new JScrollPane();
		
		JLabel lblNewLabel = new JLabel("影院编号:");
		lblNewLabel.setFont(new Font("楷体", Font.PLAIN, 20));
		
		jcIdText = new JTextField();
		jcIdText.setFont(new Font("楷体", Font.PLAIN, 20));
		jcIdText.setColumns(10);
		
		JLabel lblNewLabel_1 = new JLabel("场厅编号:");
		lblNewLabel_1.setFont(new Font("楷体", Font.PLAIN, 20));
		
		jhallText = new JTextField();
    private JTextField sIdtext;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					TicketManager frame = new TicketManager();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public TicketManager() {
		setIconifiable(true);
		setClosable(true);
		setBounds(100, 100, 1200, 900);
		
		JScrollPane scrollPane = new JScrollPane();
		
		JButton deletButton = new JButton("删除");
		deletButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				deletactionPerformed(e);
			}
		});
		deletButton.setFont(new Font("楷体", Font.PLAIN, 20));
		
		sIdtext = new JTextField();
		sIdtext.setFont(new Font("楷体", Font.PLAIN, 20));
		sIdtext.setColumns(10);
		
		JLabel lblNewLabel = new JLabel("场次编号:");
		lblNewLabel.setFont(new Font("楷体", Font.PLAIN, 20));
		btnNewButton.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JLabel lblNewLabel_8 = new JLabel("电影名");
		lblNewLabel_8.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JButton btnNewButton_1 = new JButton("删除场次");
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				delactionPerformed(e);
			}
		});
		btnNewButton_1.setFont(new Font("楷体", Font.PLAIN, 20));
		
		JLabel lblNewLabel_6 = new JLabel("场次编号");
		
		jsIdtext = new JTextField();
		jsIdtext.setEditable(false);
		jsIdtext.setFont(new Font("楷体", Font.PLAIN, 20));
		jsIdtext.setColumns(10);
		
		sernametext = new JTextField();
		sernametext.setFont(new Font("楷体", Font.PLAIN, 20));
		sernametext.setColumns(10);
		
		JButton serButton = new JButton("搜索");
		serButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				searchactionPerformed(e);
			}
		});
		serButton.setFont(new Font("楷体", Font.PLAIN, 20));
		GroupLayout groupLayout = new GroupLayout(getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addContainerGap(134, Short.MAX_VALUE)
					.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
						.addGroup(groupLayout.createSequentialGroup()
							.addComponent(lblNewLabel_6)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(jsIdtext, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(15)
		rechargeinfo.setVisible(false);
		maxlabel.add(rechargeinfo);
		charge=new JTextField();
		charge.setBounds(200, 300, 120, 30);
		charge.setBackground(Color.GRAY);
		charge.setFont(font);
		charge.setForeground(Color.white);
		charge.setFont(font);
		charge.setVisible(false);
		maxlabel.add(charge);
		recharge=new JButton("充值");
		recharge.setBounds(200, 380, 120, 30);
		recharge.setForeground(Color.white);
		recharge.setBackground(Color.GRAY);
		recharge.setFont(font);
		recharge.setVisible(false);
		recharge.addActionListener(this);
		maxlabel.add(recharge);
		oldjl = new JLabel("原密码");
		oldjl.setBounds(40, 250, 90, 30);
		oldjl.setForeground(Color.LIGHT_GRAY);
		oldjl.setFont(font);
		oldjl.setVisible(false);
		maxlabel.add(oldjl);

		oldpass.setBounds(40, 280, 120, 30);
		oldpass.setBackground(Color.GRAY);
		oldpass.setFont(font);
		oldpass.setForeground(Color.white);
		oldpass.setEchoChar('*');
		oldpass.setVisible(false);
		maxlabel.add(oldpass);

		newjl = new JLabel("新密码");
		newjl.setBounds(40, 350, 90, 30);
		newjl.setFont(font);
		newjl.setForeground(Color.LIGHT_GRAY);
		newjl.setVisible(false);
		maxlabel.add(newjl);

		newpass.setBounds(40, 380, 120, 30);
		newpass.setBackground(Color.GRAY);
		newpass.setForeground(Color.white);
		newpass.setFont(font);
		newpass.setEchoChar('*');
		newpass.setVisible(false);
		maxlabel.add(newpass);
		// cancel取消
		cancel.setBounds(40, 500, 120, 30);
		maxlabel.add(cancel);
		cancel.setBackground(Color.GRAY);
		cancel.setForeground(Color.white);
		cancel.setFont(font);
			v.add(sessionlist2.get(i).getPrice());
			v.add(sessionlist2.get(i).getRemain());
			dtm.addRow(v);
		}
    }
	/*private void fillCinemaTable(List<Cinema> cinemalist2) {
		dtm.setRowCount(0); // 设置成0行
		int cinemaRow= cinemalist2.size();
		for(int i=0;i<cinemaRow;i++) {
			Vector v=new Vector();
			v.add(cinemalist2.get(i).getCid());
			v.add(cinemalist2.get(i).getCname());
			v.add(cinemalist2.get(i).getCaddress());
		
			dtm.addRow(v);
		}
		
	}
	private void fillhalltableTable(List<Hall> halllist2) {
		dtm.setRowCount(0); // 设置成0行
		int hallRow=halllist2.size();
		for(int i=0;i<hallRow;i++) {
			Vector v=new Vector();
			v.add(halllist2.get(i).gethId());
			v.add(halllist2.get(i).gethName());			
			v.add(halllist2.get(i).getcId());
			v.add(halllist2.get(i).getCapacity());		
			dtm.addRow(v);
		}
		
	}*/
	public boolean judge() {
		if("".equals(jcIdText.getText())) {
			JOptionPane.showMessageDialog(null, "影院编号不能为空");
			return false;
		}
		if("".equals(jhallText.getText())) {
			JOptionPane.showMessageDialog(null, "场厅编号不能为空");
			return false;
		}
		if("".equals(jmIdText.getText())) {
			JOptionPane.showMessageDialog(null, "电影编号不能为空");
    	DefaultTableModel dtm=(DefaultTableModel) sessiontable.getModel();
		dtm.setRowCount(0); // 设置成0行
		int sessionRow=sessionlist2.size();
		for(int i=0;i<sessionRow;i++) {
			
			Vector v=new Vector();
			v.add(sessionlist2.get(i).getsId());
			v.add(sessionlist2.get(i).gethId());
			v.add(sessionlist2.get(i).getcId());
			v.add(sessionlist2.get(i).getmId());
			v.add(sessionlist2.get(i).getBeginTime());
			v.add(sessionlist2.get(i).getPrice());
			v.add(sessionlist2.get(i).getRemain());
			dtm.addRow(v);
		}
    }
	private void fillCinemaTable(List<Cinema> cinemalist2) {
		DefaultTableModel dtm=(DefaultTableModel) cinematable.getModel();
		dtm.setRowCount(0); // 设置成0行
		int cinemaRow= cinemalist2.size();
		for(int i=0;i<cinemaRow;i++) {
			Vector v=new Vector();
			v.add(cinemalist2.get(i).getCid());
			v.add(cinemalist2.get(i).getCname());
			v.add(cinemalist2.get(i).getCaddress());
		
			dtm.addRow(v);
		}
		
	}
	private void fillhalltableTable(List<Hall> halllist2) {
		DefaultTableModel dtm=(DefaultTableModel) halltable.getModel();
		dtm.setRowCount(0); // 设置成0行
		int hallRow=halllist2.size();
		for(int i=0;i<hallRow;i++) {
			Vector v=new Vector();
			v.add(halllist2.get(i).gethId());
			v.add(halllist2.get(i).gethName());			
			v.add(halllist2.get(i).getcId());
			v.add(halllist2.get(i).getCapacity());		
			dtm.addRow(v);
		}
		
	}
	public boolean judge() {
				dname1[i][j].setFont(font);
				locality_language1[i][j] = new JLabel(
						"地区:" + sciencelist.get(x1).getMlocality() + "  语言:" + sciencelist.get(x1).getMlanguage());
				locality_language1[i][j].setBounds(0, 540, 400, 30);
				locality_language1[i][j].setFont(font1);
				type_grade1[i][j] = new JLabel(
						"类型:" + (sciencelist.get(x1).getmType()) + "   " + "时长 :" + sciencelist.get(x1).getmDuration() + "分钟"); 
				type_grade1[i][j].setBounds(0, 570, 400, 30);
				type_grade1[i][j].setFont(font2);
				btn_label1[i][j] = new JLabel();
				btn_label1[i][j].setBounds(402 * j + 1, 600 * i, 400, 600);
				btn_label1[i][j].add(dname1[i][j]);
				btn_label1[i][j].add(locality_language1[i][j]);
				btn_label1[i][j].add(type_grade1[i][j]);
				btn_label1[i][j].add(card1_btn1[x1]);
				allinfo1.add(btn_label1[i][j]);

				x1++;
			}
			size1=x1;
		}
		tb1.add(allinfo1);
		tb1.setEnabled(false);
		JScrollPane sPane1 = new JScrollPane(tb1);
		// sPane.add()加按钮等一些控件时,要鼠标滑过,才会显示出来,直接在构造方法中传参则正常
		
		sPane1.setBounds(0, 0, 1627, 950);
		sPane1.setVisible(true);
		card3.add(sPane1);
		//动作
		tabbedPane.addTab("动作", card4);	
		actionlist=mo.queryMovieByType("动作");
		int row2 = (actionlist.size() + 3) / 4;
		int k2 = actionlist.size();
		btn_label2 = new JLabel[row2][4];
		 card1_btn2 = new JButton[k2];
		dname2 = new JLabel[row2][4];
		 locality_language2 = new JLabel[row2][4];
		 type_grade2 = new JLabel[row2][4];
		 JLabel allinfo2 = new JLabel();//包含所有信息
		 String[] cnames2 = { "", "", "", "" };
		 JTable tb2 = new JTable(btn_label2, cnames2);
		 allinfo2.setSize(1610, 602 * row2);
			tb2.setRowHeight(600);
				SessionManager sessionmanage=new SessionManager();
				sessionmanage.setVisible(true);
				tablePane.add(sessionmanage);
			}
		});
		sessionMenuItem.setFont(new Font("楷体", Font.PLAIN, 20));
		sessionMenu.add(sessionMenuItem);
		
		JMenuItem TicketMenuItem = new JMenuItem("影票管理");
		TicketMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				TicketManager ticketManager=new TicketManager();
				ticketManager.setVisible(true);
				tablePane.add(ticketManager);
			}
		});
		TicketMenuItem.setFont(new Font("楷体", Font.PLAIN, 20));
		mnNewMenu.add(TicketMenuItem);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		//添加背景图片

		tablePane = new JDesktopPane();
			tablePane.setBackground(Color.WHITE);
		
		 
		

		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane.setHorizontalGroup(
			gl_contentPane.createParallelGroup(Alignment.TRAILING)
				.addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup()
					.addComponent(tablePane, GroupLayout.DEFAULT_SIZE, 1753, Short.MAX_VALUE)
					.addContainerGap())
		);
		gl_contentPane.setVerticalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addComponent(tablePane, GroupLayout.DEFAULT_SIZE, 913, Short.MAX_VALUE)
					.addContainerGap())
		);
		
		JLabel lblNewLabel = new JLabel("欢迎使用影票管理系统");
		/*lblNewLabel.setForeground(Color.WHITE);*/
		lblNewLabel.setFont(new Font("楷体", Font.PLAIN, 30));
		lblNewLabel.setBounds(862, 111, 402, 54);
		tablePane.add(lblNewLabel);
		
		contentPane.setLayout(gl_contentPane);
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
		this.setVisible(true);
	}
			list = operQuery(sql,null,Cinema.class);
		} catch (Exception e) {
			e.printStackTrace();
		}

		return list;
	}

	@Override
	public List<Cinema> queryCinemaByCinemaAddress(String cAddress) {
		// TODO Auto-generated method stub
		String address="'%";
		for(int i = 0; i < cAddress.length(); i++) {
			address += cAddress.charAt(i)+"%";
		}
		address+="'";
		String sql="select * from cinema where cAddress like"+address;
		List<Cinema> list=null;
		try {
			list = operQuery(sql,null,Cinema.class);
		} catch (Exception e) {
			e.printStackTrace();
		}

		return list;
	}

	@Override
	public List<Cinema> queryCinemaByCinemaNameAndCinemaAddress(String cName, String cAddress) {
		// TODO Auto-generated method stub
		String address="'%";
		for(int i = 0; i < cAddress.length(); i++) {
			address += cAddress.charAt(i)+"%";
		}
		address+="'";
		String name="'%";
		for(int i = 0; i < cName.length(); i++) {
			name += cName.charAt(i)+"%";
		}
		name+="'";
		String sql="select * from cinema where cName like"+name+"and cAddress like"+address;
		List<Cinema> list=null;
		try {
			list = operQuery(sql,null,Cinema.class);
		} catch (Exception e) {
			e.printStackTrace();
					"电影编号", "电影名字", "语言", " 地区","时长","类别","分数"
				}
			) {
				boolean[] columnEditables = new boolean[] {
					false, false, false, false
				};
				public boolean isCellEditable(int row, int column) {
					return columnEditables[column];
				}
			});
		fillTable( movielist);
		movietb.setDefaultRenderer(Object.class, r);
		movietb.setRowHeight(70);
		movietb.setFont(font);
		movietb.getTableHeader().setFont(new Font("楷体", 1, 20));
		movietb.getTableHeader().setBackground(Color.orange);
		movietb.getTableHeader().setReorderingAllowed(false); // 不可交换顺序
		movietb.getTableHeader().setResizingAllowed(false); // 不可拉动表格
		movietb.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent me) {
				movietbmousePressed(me);
			}
		});
      JScrollPane moviesPane = new JScrollPane(movietb);		
      moviesPane.setBounds(0, 510, 1800, 450);
		card2.add(moviesPane);
		//科幻电影
		tabbedPane.addTab("科幻", card3);				
		sciencelist=mo.queryMovieByType("科幻");
		int row1 = (sciencelist.size() + 3) / 4;
		int k1 = sciencelist.size();
		 btn_label1 = new JLabel[row1][4];
		 card1_btn1 = new JButton[k1];
		dname1 = new JLabel[row1][4];
		 locality_language1 = new JLabel[row1][4];
		 type_grade1 = new JLabel[row1][4];
		JLabel allinfo1 = new JLabel();//包含所有信息
		String[] cnames1 = { "", "", "", "" };
		JTable tb1 = new JTable(btn_label1, cnames1);
		allinfo1.setSize(1610, 602 * row1);
		tb1.setRowHeight(600);
		int x1 = 0;
		ImageIcon img1 = null;
		for (int i = 0; i < row1; i++) {

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值