基于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++) {