Compare commits

..

5 Commits
seat ... Frame

@ -0,0 +1,33 @@
package com.wjr.dao.impl;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCUtil {
static String url;
static Properties info =new Properties();
static{
InputStream input = JDBCUtil.class.getClassLoader()
.getResourceAsStream("config.properties");
try {
info.load(input);
url = info.getProperty("url");
Class.forName(info.getProperty("driver"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
Connection conn = DriverManager.getConnection(url,info);
return conn;
}
}

@ -0,0 +1,94 @@
package com.wjr.view;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import com.wjr.dao.impl.AccounttmjImpl;
import com.wjr.javaBean.Accounttmj;
public class LoginFrame extends MyFrame{
private JTextField txtAccountId;
private JPasswordField txtPassword;
public LoginFrame(String title, int width, int heigth) {
super(title, width, heigth);
getContentPane().setLayout(null);
JLabel accountLabel=new JLabel();
accountLabel.setHorizontalAlignment(SwingConstants.RIGHT);
accountLabel.setBounds(51,33,83,30);
accountLabel.setText("用户名");
accountLabel.setFont(new Font("微软雅黑",Font.PLAIN,15));
getContentPane().add(accountLabel);
txtAccountId =new JTextField(10);
txtAccountId.setText("root");
txtAccountId.setBounds(158,33,157,30);
txtAccountId.setFont(new Font("微软雅黑",Font.PLAIN,15));
getContentPane().add(txtAccountId);
JLabel passwordLabel=new JLabel();
passwordLabel.setHorizontalAlignment(SwingConstants.RIGHT);
passwordLabel.setBounds(51,66,83,30);
passwordLabel.setText("密码");
passwordLabel.setFont(new Font("微软雅黑",Font.PLAIN,15));
getContentPane().add(passwordLabel);
txtPassword =new JPasswordField(10);
txtPassword.setText("*****");
txtPassword.setBounds(158,66,157,30);
txtPassword.setFont(new Font("微软雅黑",Font.PLAIN,15));
getContentPane().add(txtPassword);
JButton btnlogin = new JButton();
btnlogin.setText("登录");
btnlogin.setFont(new Font("微软雅黑",Font.PLAIN,15));
btnlogin.setBounds(61,140,100,30);
getContentPane().add(btnlogin);
JButton btnCancel = new JButton();
btnCancel.setText("取消");
btnCancel.setFont(new Font("微软雅黑",Font.PLAIN,15));
btnCancel.setBounds(225,140,100,30);
getContentPane().add(btnCancel);
btnlogin.addActionListener(e->{
AccounttmjImpl acd = new AccounttmjImpl();
Accounttmj actmj = acd.findByUseridtmj(txtAccountId.getText());
String password =new String(txtPassword.getPassword());
if(actmj != null&& password.equals(actmj.getpasswordtmj())) {
System.out.println("成功");
MovieListFrame plf =new MovieListFrame("电影列表",1000,700);
plf.setVisible(true);
setVisible(false);
}else {
JLabel lf = new JLabel("错误");
lf.setFont(new Font("微软雅黑",Font.PLAIN,15));
JOptionPane.showMessageDialog(null, lf,"登陆失败",JOptionPane.ERROR_MESSAGE);
}
});
btnCancel.addActionListener(e->{
System.exit(0);
});
}
}

@ -0,0 +1,10 @@
package com.wjr.view;
public class MainApp {
public static void main(String[] args) {
LoginFrame loginFrame=new LoginFrame("用户登录",400,255);
loginFrame.setVisible(true);
}
}

@ -0,0 +1,28 @@
package com.wjr.view;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class MyFrame extends JFrame{
private double screenWidth=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
private double screenHeight=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
public MyFrame(String title,int width,int heigth) {
super(title);
setSize(width,heigth);
int x=(int)(screenWidth-width)/2;
int y=(int)(screenHeight-heigth)/2;
setLocation(x,y);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}

@ -1,193 +0,0 @@
package com.zn.view;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import com.zn.dao.SeatznDao;
import com.zn.dao.impl.SeatznImpl;
import com.zn.javaBean.Seatzn;
public class SeatListFrame extends MyFrame{
private JTable table;
private JLabel lblImage;
private JLabel lblListprice;
private JLabel lblDescn;
private JLabel lblUnitcost;
private List<Seatzn> Seats=null;
private SeatznDao pdao =new SeatznImpl();
private Map<String,Integer> cart =new HashMap<String,Integer>();
private int selectedRow=-1;
public SeatListFrame(String title, int width, int heigth) {
super(title, width, heigth);
// TODO 自动生成的构造函数存根
Seats=pdao.findAll();
//getContentPane().add(getSearchPanel(),BorderLayout.NORTH);
JSplitPane splitPane = new JSplitPane();
splitPane.setDividerLocation(600);
splitPane.setLeftComponent(getLeftPanel());
splitPane.setRightComponent(getRightPanel());
getContentPane().add(splitPane,BorderLayout.CENTER);
}
// private Component getSearchPanel() {
// // TODO 自动生成的方法存根
//
// JPanel searchPanel =new JPanel();
// FlowLayout flowLayout =(FlowLayout)searchPanel.getLayout();
// flowLayout.setVgap(20);
// flowLayout.setHgap(40);
//
//
// return searchPanel;
// }
private Component getRightPanel() {
// TODO 自动生成的方法存根
JPanel rightPanel = new JPanel();
rightPanel.setBackground(Color.WHITE);
rightPanel.setLayout(new GridLayout(2,1,0,0));
lblImage = new JLabel();
rightPanel.add(lblImage);
lblImage.setHorizontalAlignment(SwingConstants.CENTER);
JPanel detailPanel = new JPanel();
detailPanel.setBackground(Color.WHITE);
rightPanel.add(detailPanel);
detailPanel.setLayout(new GridLayout(8,1,0,5));
JButton btnAdd = new JButton("购票");
btnAdd.setFont(new Font("微软雅黑",Font.PLAIN,15));
detailPanel.add(btnAdd);
JLabel lb1 = new JLabel();
detailPanel.add(lb1);
JButton btnCheck = new JButton("返回上一层");
btnAdd.setFont(new Font("微软雅黑",Font.PLAIN,15));
detailPanel.add(btnCheck);
btnAdd.addActionListener(e->{
JLabel lf = new JLabel("购票成功");
lf.setFont(new Font("微软雅黑",Font.PLAIN,15));
JOptionPane.showMessageDialog(null, lf,"购票成功",JOptionPane.INFORMATION_MESSAGE); //普通提示框
});
btnCheck.addActionListener(e->{
MovieListFrame plf =new MovieListFrame("电影列表",1000,700);
plf.setVisible(true);
setVisible(false);
});
btnAdd.addActionListener(e->{
if(selectedRow < 0) {
return;
}
Seatzn selectSeat = Seats.get(selectedRow);
String Seatid = selectSeat.getseatidzn();
if(cart.containsKey(Seatid)) {
Integer quantity = cart.get(Seatid);
cart.put(Seatid, ++quantity);
}else {
cart.put(Seatid, 1);
}
System.out.println(cart);
});
btnCheck.addActionListener(e->{
System.out.println(cart);
});
return rightPanel;
}
private Component getLeftPanel() {
// TODO 自动生成的方法存根
JScrollPane leftScrollPane = new JScrollPane();
leftScrollPane.setViewportView(getTable());
return leftScrollPane;
}
private Component getTable() {
// TODO 自动生成的方法存根
SeatTableModel pmodel = new SeatTableModel(this.Seats);
if(table==null) {
table = new JTable(pmodel);
table.setFont(new Font("微软雅黑",Font.PLAIN,16));
table.getTableHeader().setFont(new Font("微软雅黑",Font.PLAIN,16));
table.setRowHeight(51);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ListSelectionModel rowSelectionModel = table.getSelectionModel();
rowSelectionModel.addListSelectionListener(e->{
if(e.getValueIsAdjusting()) {
return;
}
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
selectedRow = lsm.getMinSelectionIndex();
if(selectedRow<0) {
return;
}
});
}else {table.setModel(pmodel);}
return table;
}
}

@ -1,51 +0,0 @@
package com.zn.view;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import com.zn.javaBean.Moviezn;
import com.zn.javaBean.Seatzn;
public class SeatTableModel extends AbstractTableModel{
private String[] columnNames= {"座位号","影院","厅次"};
private List<Seatzn> seats=null;
public SeatTableModel(List<Seatzn> seats) {
this.seats=seats;
}
@Override
public int getRowCount() {
// TODO 自动生成的方法存根
return seats.size();
}
@Override
public int getColumnCount() {
// TODO 自动生成的方法存根
return columnNames.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO 自动生成的方法存根
Seatzn p=seats.get(rowIndex);
switch(columnIndex) {
case 0:
return p.getseatidzn();
case 1:
return p.getcinemazn();
default:
return p.gethallzn();
}
}
public String getColumnName(int columnIndex) {
return columnNames[columnIndex];
}
}

@ -1,39 +0,0 @@
package com.zn.javaBean;
public class Seatzn {
String seatidzn;
String cinemazn;
String hallzn;
public Seatzn() {
}
public Seatzn(String seatidzn,String cinemazn,String hallzn){
this.seatidzn=seatidzn;
this.cinemazn=cinemazn;
this.hallzn=hallzn;
}
public String getseatidzn(){
return seatidzn;
}
public void setseatidzn(String seatidzn){
this.seatidzn=seatidzn;
}
public String getcinemazn(){
return cinemazn;
}
public void setcinemazn(String cinemazn){
this.cinemazn=cinemazn;
}
public String gethallzn(){
return hallzn;
}
public void sethallzn(String hallzn){
this.hallzn=hallzn;
}
@Override
public String toString() {
return "Productzn [seatidzn=" + seatidzn + ", cinemazn=" + cinemazn + ", hallzn=" + hallzn
+ "]";
}
}

@ -1,13 +0,0 @@
package com.zn.dao;
import java.util.ArrayList;
import java.util.List;
import com.zn.javaBean;
public interface SeatznDao {
public List<Seatzn> findBySeatidzn(String seatidzn);
public void insert(Seatzn seatzn);
public ArrayList<Seatzn> findAll();
public int updateSeatzn(Seatzn seatzn);
public int deleteSeatzn(String seatidzn);
}

@ -1,161 +0,0 @@
package com.zn.dao.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.zn.dao.MovieznDao;
import com.zn.dao.SeatznDao;
import com.zn.javaBean.Moviezn;
import com.zn.javaBean.Seatzn;
public class SeatznImpl implements SeatznDao {
@Override
public List<Seatzn> findBySeatidzn(String seatidzn) {
// TODO 自动生成的方法存根
List<Seatzn> ptzn = new ArrayList<Seatzn>();
try {
Connection connzn = JDBCUtil.getConnection();
String sqlzn ="select *from seat where seatid=?";
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
prestmzn.setString(1,seatidzn);
ResultSet rszn=prestmzn.executeQuery();
while(rszn.next()) {
Seatzn seat=new Seatzn();
seat.setseatidzn(rszn.getString("seatid"));
seat.setcinemazn(rszn.getString("cinema"));
seat.sethallzn(rszn.getString("hall"));
ptzn.add(seat);
}
rszn.close();
prestmzn.close();
connzn.close();
}
catch(Exception e) {
e.printStackTrace();
}
return ptzn;
}
@Override
public void insert(Seatzn seatzn) {
// TODO 自动生成的方法存根
try {
Connection connzn = JDBCUtil.getConnection();
String sqlzn ="Insert into seat (seatid,cinema,hall) values(?,?,?)";
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
prestmzn.setString(1,seatzn.getseatidzn());
prestmzn.setString(2,seatzn.getcinemazn());
prestmzn.setString(3,seatzn.gethallzn());
prestmzn.executeUpdate();
prestmzn.close();
connzn.close();
}
catch(Exception e) {
e.printStackTrace();
}
}
@Override
public ArrayList<Seatzn> findAll() {
ArrayList<Seatzn> seats=new ArrayList<Seatzn>();
try {
Connection connzn = JDBCUtil.getConnection();
String sql ="select *from seat";
Statement sts =connzn.createStatement();
ResultSet rs=sts.executeQuery(sql);
while(rs.next()) {
Seatzn seat=new Seatzn();
seat.setseatidzn(rs.getString("seatid"));
seat.setcinemazn(rs.getString("cinema"));
seat.sethallzn(rs.getString("hall"));
seats.add(seat);
}
rs.close();
sts.close();
connzn.close();
}
catch(Exception e) {
e.printStackTrace();
}
// TODO 自动生成的方法存根
return seats;
}
@Override
public int updateSeatzn(Seatzn seatzn) {
// TODO 自动生成的方法存根
try {
Connection connzn = JDBCUtil.getConnection();
String sqlzn ="update seat set hall=?,cinema=? where seatid=?";
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
prestmzn.setString(3,seatzn.getseatidzn());
prestmzn.setString(1,seatzn.gethallzn());
prestmzn.setString(2,seatzn.getcinemazn());
prestmzn.executeUpdate();
prestmzn.close();
connzn.close();
}
catch(Exception e) {
e.printStackTrace();
}
return 0;
}
@Override
public int deleteSeatzn(String seatidzn) {
int flagzn=0;
// TODO 自动生成的方法存根
try {
Connection connzn = JDBCUtil.getConnection();
String sqlzn ="delete from seat where seatid=?";
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
prestmzn.setString(1,seatidzn);
flagzn = prestmzn.executeUpdate();
prestmzn.close();
connzn.close();
}
catch(Exception e) {
e.printStackTrace();
}
return flagzn;
}
public static void main(String[] args) {
SeatznImpl aczn =new SeatznImpl();
for(Seatzn al : aczn.findAll()) {
System.out.print(al);
System.out.println("");
System.out.println("---------------------------");
}
System.out.println(aczn.findBySeatidzn("1"));
System.out.println("---------------------------");
Seatzn a1zn=new Seatzn("5","123","123");
aczn.updateSeatzn(a1zn);
for(Seatzn al : aczn.findAll()) {
System.out.print(al);
System.out.println("");
System.out.println("---------------------------");
}
System.out.println(aczn.deleteSeatzn("5"));
System.out.println("---------------------------");
for(Seatzn al : aczn.findAll()) {
System.out.print(al);
System.out.println("");
System.out.println("---------------------------");
}
Seatzn a2zn=new Seatzn("3","123","123");
aczn.insert(a2zn);
for(Seatzn al : aczn.findAll()) {
System.out.print(al);
System.out.println("");
System.out.println("---------------------------");
}
}
}

@ -0,0 +1,6 @@
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/movie?userSSL=false&serverTimezone=Asia/Shanghai
user=root
password=123456
userSSL = false
serverTimezone = Asia/Shanghai
Loading…
Cancel
Save