⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 qw.rar
💻 JAVA
字号:
import javax.swing.*;

import java.awt.GridLayout;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.Calendar;

public class MainFrame {
	static JFrame f = new JFrame("网吧计费系统");
	static boolean show = false;
	public MainFrame() {
		JMenuBar mb = new JMenuBar();
		JMenu m1 = new JMenu("使用");
		JMenuItem m1i1 = new JMenuItem("上机");
		m1i1.addActionListener(new Listener_m1i1());
		JMenuItem m1i2 = new JMenuItem("下机");
		m1i2.addActionListener(new Listener_m1i2());
		m1.add(m1i1);
		m1.add(m1i2);
		mb.add(m1);
		JMenu m2 = new JMenu("帮助");
		JMenuItem m2i = new JMenuItem("关于");
		m2i.addActionListener(new Listener_m2i());
		m2.add(m2i);
		mb.add(m2);
		JMenu m3 = new JMenu("退出");
		m3.addActionListener(new Listener_m3());
		mb.add(m3);
		f.setJMenuBar(mb);
		f.setBounds(100, 100, 400, 500);
		f.getContentPane().add(new JLabel("网吧计费系统 V1.0 国产007制作",JLabel.CENTER));
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

class Listener_m1i1 implements ActionListener {
	public void actionPerformed(ActionEvent e) {
		if (MainFrame.show == false) {
			MainFrame.f.getContentPane().removeAll();
			JPanel p = new JPanel(new GridLayout(5, 2));
			p.add(new JLabel("机器号码:"));
			p.add(LoginPanel.JCB);
			p.add(new JLabel("卡号:"));
			p.add(LoginPanel.card_number_text);
			p.add(new JLabel("密码:"));
			p.add(LoginPanel.password_text);
			p.add(new JLabel("开始时间:"));
			LoginPanel.time_text.setEnabled(false);
			LoginPanel.time_text.setText(DateFormat.getDateTimeInstance()
					.format(LoginPanel.beginTime.getTime()));
			p.add(LoginPanel.time_text);
			JButton subit = new JButton("确定");
			subit.addActionListener(new Listener_subit());
			JButton reset = new JButton("重置");
			reset.addActionListener(new Listener_reset());
			p.add(subit);
			p.add(reset);
			MainFrame.f.getContentPane().add(p);
			MainFrame.f.setVisible(true);
			MainFrame.show = true;
		}
		LoginPanel.JCB.removeAllItems();
		try {
			ResultSet rs00 = DataBase.getInstance().select(
					"select computer_number from computer where enable = true");
			while (rs00.next()) {
				LoginPanel.JCB.addItem(rs00.getString("computer_number"));
			}
		} catch (SQLException e0) {
			e0.printStackTrace();
		}
	}
}

class Listener_m1i2 implements ActionListener {
	public void actionPerformed(ActionEvent e0) {
		int i = JOptionPane.showConfirmDialog(null, "您确定要下机吗?", "下机提示",
				JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
		if (i == 0&&MainFrame.show) {
			//计算消费金额
			int day =LoginPanel.endTime.get(LoginPanel.endTime.DAY_OF_MONTH)-LoginPanel.beginTime.get(LoginPanel.beginTime.DAY_OF_MONTH);
			int hour =LoginPanel.endTime.get(LoginPanel.endTime.HOUR)-LoginPanel.beginTime.get(LoginPanel.beginTime.HOUR);
			int minute = LoginPanel.endTime.get(LoginPanel.endTime.MINUTE)-LoginPanel.beginTime.get(LoginPanel.beginTime.MINUTE);
			int totalTime =day*60*60*24+hour*60*60+minute;//总共上机时间
			double usedmoney = 0.0;
			if(hour<=1){
				usedmoney = 2;
			}
			if(hour>2){
				usedmoney = totalTime/3600;
			}
			//计算余额
 			try {
 		    	DataBase.getInstance().update(
 						"UPDATE card set balance=balance-"+usedmoney+" where card_number='"
 								+ LoginPanel.getCard_Number()+"'");
 			} catch (SQLException e) {
 				e.printStackTrace();
 			}
			
			try {
				ResultSet rs =  DataBase.getInstance().select(
						"select balance from card where card_number='"
								+ LoginPanel.getCard_Number() + "'");
				rs.next();
				MainFrame.f.getContentPane().removeAll();
				JPanel p = new JPanel(new GridLayout(6, 1));
				LoginPanel.endTime = Calendar.getInstance();
				p.add(new JLabel("机器号码:" + LoginPanel.getSelectedComputer(),
						JLabel.LEFT));
				p.add(new JLabel("卡号:" + LoginPanel.getCard_Number(), JLabel.LEFT));
				p.add(new JLabel("上机时间:"
						+ DateFormat.getDateTimeInstance().format(
								LoginPanel.beginTime.getTime()), JLabel.LEFT));
				p.add(new JLabel("下机时间:"
						+ DateFormat.getDateTimeInstance().format(
								LoginPanel.endTime.getTime()), JLabel.LEFT));
				p.add(new JLabel("本次消费:"+NumberFormat.getInstance().format(usedmoney)+"元", JLabel.LEFT));
				p.add(new JLabel("此卡余额:"+rs.getString(1), JLabel.LEFT));
				MainFrame.f.add(p);
				MainFrame.show = false;
				MainFrame.f.setVisible(true);
			} catch (SQLException e) {
				e.printStackTrace();
			}
				//让卡号能够使用
				try {
					DataBase.getInstance().update(
							"UPDATE card set used = false where card_number='"
									+ LoginPanel.getCard_Number() + "'");
				} catch (SQLException e) {
					e.printStackTrace();
				}
				//让机子能够使用
				try {
					DataBase.getInstance().update(
							"UPDATE computer set enable = true where computer_number="
									+ LoginPanel.getSelectedComputer());
				} catch (SQLException e) {
					e.printStackTrace();
				}
				//将上机数据写入record表中
				try {
					DataBase.getInstance().update("insert into record(card_number,computer_number,begin_time,end_time,used_money)" +
							" values('" +
							LoginPanel.getCard_Number()+"',"+LoginPanel.getSelectedComputer()+",'"+
							DateFormat.getDateTimeInstance().format(LoginPanel.beginTime.getTime())+"','"+
							DateFormat.getDateTimeInstance().format(LoginPanel.endTime.getTime())+"',"+usedmoney+	
							")");
				} catch (SQLException e) {
					e.printStackTrace();
				}
		}

	}
};
class Listener_m2i implements ActionListener {
	public void actionPerformed(ActionEvent e1) {
		MainFrame.f.getDefaultCloseOperation();
		JOptionPane.showMessageDialog(null, "网吧计费管理系统 version 1.0 国产007制作",
				"关于", JOptionPane.PLAIN_MESSAGE);
	}
}
class Listener_m3 implements ActionListener {
	public void actionPerformed(ActionEvent e) {
//MainFrame.f.getDefaultCloseOperation();
				
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -