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

📄 computerview.java

📁 java 网吧管理系统,包括一些最基本的功能,有实际作用,也可作为初学的参考资料.
💻 JAVA
字号:
package View;

/**
 * @author 陈佳捷 魏敏杰 黄珧 金俊 唐梁 周靓莹
 */

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;

import Controll.ComputerController;
import Model.ComputerModel;
import Model.Computer_copyModel;

import java.util.Date;
import java.util.Calendar;

public class ComputerView extends JPanel implements ActionListener{
	private JPanel jpMessage;
	private JPanel jpCheck;
    private JPanel jp;
    private JPanel jp1;
    private JPanel jp2;
    private JPanel box;
    private JPanel box1;
    private JPanel box2;
    private JPanel box3;
    
    private JLabel jlCard;
    private JLabel jlCertificate;
    private JLabel jlName;
    private JLabel jlMoney;
    private JLabel jlMessage;
    private JLabel jlUser;
    private JLabel jlCheck;
    private JLabel jlUserTime;
    
    public JTextField jtfCard;
    public JTextField jtfCertificate;
    public JTextField jtfName;
    public JTextField jtfMoney;
    public JTextField jtfCheck;
    
    private JButton jbOk;
    private JButton jbOk1;
    private JButton jbOk2;
    private JButton jbOk3;
    private JButton jbCheck;
    private JButton jbSelect;
    private JButton jbhistory;
    private JButton jbExit;
    private JButton jbRefurbish; 
    private JOptionPane JOPImport;
    private JOptionPane JOPCard;
    private JOptionPane JOPCertificate;
    private JOptionPane JOPName;
    private JOptionPane JOPMoney;
    private JDialog MessageDialog;
    private JDialog CheckDialog;
    private JDialog SelectDialog;
    public JTable jtMessage;
    public  JScrollPane scrollPane;
    public JTable jtMessage1;
    public  JScrollPane scrollPane1;
    private JFrame jf;
    private int UserTime;
    private int CheckTime;
    private int LastMoney;
    private ComputerController c1;
    private Computer_copyModel model1;
    /**
     * 	主函数构造器
     *	生成SWING界面
     */
   	public ComputerView(){
	    jf=new JFrame();
	    Container c=jf.getContentPane();
	    jf.setTitle("便翔网吧管理系统");
        jlCard=new JLabel("卡号:");
        jlCertificate=new JLabel("身份证:");
        jlName=new JLabel("姓名:");
        jlMoney=new JLabel("金额:");
        jlCheck=new JLabel("卡号:");
        jtfCard=new JTextField(5);
        jtfCertificate=new JTextField(15);
        jtfName=new JTextField(5);
        jtfMoney=new JTextField(5);
        jtfCheck=new JTextField(5);
        jbOk=new JButton("确认");
        jbOk1=new JButton("确认");
        jbOk2=new JButton("确认");
        jbOk3=new JButton("确认");
        jbCheck=new JButton("结帐确认");
        jbSelect=new JButton("查询");
        jbhistory=new JButton("历史记录"); 
        jbExit=new JButton("退出");
        jbRefurbish=new JButton("刷新");
        jpMessage=new JPanel();
        jpMessage.setBackground(new Color(196,231,255));
        jpCheck=new JPanel();
        jpCheck.setBackground(new Color(196,231,255));
        jp=new JPanel();
        jp.setLayout(new GridLayout(2,1));
        jp1=new JPanel();
        jp2=new JPanel();
        c1=new ComputerController();
        jp1.setLayout(new BorderLayout());
        jtMessage=new JTable();
        jtMessage.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        jtMessage.setPreferredScrollableViewportSize(new Dimension(592, 300));
        jtMessage.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        scrollPane = new JScrollPane(jtMessage);
        jpMessage.add(jlCard);
        jpMessage.add(jtfCard);
        jpMessage.add(jlCertificate);
        jpMessage.add(jtfCertificate);
        jpMessage.add(jlName);
        jpMessage.add(jtfName);
        jpMessage.add(jlMoney);
        jpMessage.add(jtfMoney);
        jpMessage.add(jbOk);
        jpCheck.add(jlCheck);
        jpCheck.add(jtfCheck);
        jpCheck.add(jbCheck);
        jpCheck.add(jbSelect);
        jpCheck.add(jbhistory);
        jpCheck.add(jbRefurbish);
        jpCheck.add(jbExit);
        jp1.add(jpCheck,BorderLayout.WEST);
        jp.add(jpMessage);
        jp.add(jp1);
        jp2.add(jp);
        jp2.add(scrollPane);
        c.add(jp2);
        jbOk.addActionListener(this);
        jbOk1.addActionListener(this);
        jbOk2.addActionListener(this);
        jbOk3.addActionListener(this);
        jbCheck.addActionListener(this);
        jbSelect.addActionListener(this);
        jbhistory.addActionListener(this);
        jbExit.addActionListener(this);
        jbRefurbish.addActionListener(this);
        jf.setSize(new Dimension(600,400));
        jf.setVisible(true);
        jf.setResizable(false);
	} 
   	/**
   	 * 	事件处理
   	 * 
   	 */
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource()==jbOk)
		{	
			if(jtfCard.getText().equals("")||jtfCertificate.getText().equals("")||jtfName.getText().equals("")||jtfMoney.getText().equals(""))
			{
				JOPImport=new JOptionPane();
				JOptionPane.showMessageDialog(this,"输入不能为空,请重新输入!");
				return;
		    }else{
				c1.insertData();
				c1.model=c1.loadModel();
				jtMessage.setModel(c1.model); 
		    }
	 
			if(Integer.parseInt(jtfCard.getText())<=150&0<Integer.parseInt(jtfCard.getText())&&jtfCard.getText()!=null)
			{
					//this.showMessageDiolag();
			}else{
					JOPCard=new JOptionPane();
					JOptionPane.showMessageDialog(this,"卡号不正确,请重新输入!");
					return;
			}
			if(this.validateID(jtfCertificate.getText()))
			{
					//this.showMessageDiolag();
			}else{
					JOPCertificate=new JOptionPane();
					JOptionPane.showMessageDialog(this,"身份证不正确,请重新输入!");
					return;
			}
			if(!jtfName.getText().equals("")&&this.validateName(jtfName.getText()))
			{
					//this.showMessageDiolag();
			}else{
					JOPName=new JOptionPane();
					JOptionPane.showMessageDialog(this,"名字不正确,请重新输入!");
					return;
			}
			if(Double.parseDouble(jtfMoney.getText())>=10&&jtfMoney.getText()!=null)
			{
					//this.showMessageDiolag();
			}else{
					JOPMoney=new JOptionPane();
					JOptionPane.showMessageDialog(this,"钱不够,请重新输入!");
					return;
			}
			
		    this.showMessageDialog();
			jtfCard.setText("");
			jtfCertificate.setText("");
			jtfName.setText("");
			jtfMoney.setText("");
		 }
		  if(e.getSource()==jbCheck)
		  {
		    if(Integer.parseInt(jtfCheck.getText())<=150&0<Integer.parseInt(jtfCheck.getText())&&jtfCheck.getText()!=null)
			//if(jtfCheck.getText().equals(i))
			{
				c1.CheckModel();
				c1.model=c1.loadModel();
				jtMessage.setModel(c1.model); 
				jtfCheck.setText("");
			}else{
				JOPCard=new JOptionPane();
				JOptionPane.showMessageDialog(this,"卡号不正确,请重新输入!");
				return;
			}	
		 }
		 if(e.getSource()==jbSelect)
		 {
			if(Integer.parseInt(jtfCheck.getText())<=150&0<Integer.parseInt(jtfCheck.getText())&&jtfCheck.getText()!=null)
			{
				c1.SelectModel();
				jtfCheck.setText("");
			}else{
				JOPCard=new JOptionPane();
				JOptionPane.showMessageDialog(this,"卡号不正确,请重新输入!");
				return;
			}
		 }
		 if(e.getSource()==jbhistory)
		 {
			if(Integer.parseInt(jtfCheck.getText())<=150&0<Integer.parseInt(jtfCheck.getText())&&jtfCheck.getText()!=null)
			{
			    showSelectHistoryTable();
			    c1.model1=c1.loadHistoryModel();
				setModel(c1.model1);
				jtfCheck.setText("");
			}else{
				JOPCard=new JOptionPane();
				JOptionPane.showMessageDialog(this,"卡号不正确,请重新输入!");
				return;
			}
		 }
		 if(e.getSource()==jbRefurbish)
		 {
			 c1.model=c1.loadModel();
			 jtMessage.setModel(c1.model); 
		 }
		 if(e.getSource()==jbOk1)
		 {
			 MessageDialog.setVisible(false);
		 }
		 if(e.getSource()==jbOk2)
		 {
			 CheckDialog.setVisible(false);
		 }
		 if(e.getSource()==jbOk3)
		 {
			 SelectDialog.setVisible(false);
		 }
		 if(e.getSource()==jbExit)
		 {
			 jf.setVisible(false);
		 }
	}
	/**
	 * 身份证的输入验证函数
	 * @param str
	 * @return false
	 */
	public boolean validateID(String str){
		if(str==null||str.length()!=18)
			return false;
		//toCharArray()将此字符串转换为一个新的字符数组
		char [] charArray = str.toCharArray();
		for(int i=0;i<charArray.length;i++){
			if(i < charArray.length-1){
		//isDigit确定指定字符是否为数字
				if(!Character.isDigit(charArray[i])){
					return false;
				}
			}else{
				if(!Character.isDigit(charArray[i])&&(charArray[i] != 'x')){
					return false;
				}
			}
		}
		return true;
	}
	/**
	 * 用户姓名的输入验证函数
	 * @param str
	 * @return false
	 */
	public boolean validateName(String str){
		char [] charArray = str.toCharArray();
		for(int i=0;i<charArray.length;i++)
			if(Character.isDigit(charArray[i]))
				return false;
		return true;
	}
	/**
	 * 当用户登陆成功时,所显示的对话框的方法
	 *
	 */
	public void showMessageDialog() 
	{
	    MessageDialog=new JDialog(jf,"便翔网吧登入人员的信息");
	    box=new JPanel();
		box.setLayout(new BoxLayout(box,BoxLayout.Y_AXIS));
		jlMessage=new JLabel("上机登入信息:");
		jlCard=new JLabel("卡号为:"+jtfCard.getText());
		jlCertificate=new  JLabel("身份证为:"+jtfCertificate.getText());
		jlName=new JLabel("姓名:"+jtfName.getText());
		jlMoney=new JLabel("交纳金额:"+jtfMoney.getText()+"元");
		Calendar rightNow = Calendar.getInstance();
		jlUserTime=new JLabel("用户登入的时间:"+rightNow.getTime());
		jlUser=new JLabel("用户登入成功!");
		UserTime= (int) System.currentTimeMillis()/60000;
		box.add(jlMessage);
		box.add(jlCard);
		box.add(jlCertificate);
		box.add(jlName);
		box.add(jlMoney);
		box.add(jlUserTime);
		box.add(jbOk1);
		MessageDialog.add(box);
		MessageDialog.setLocation(200,150);
		MessageDialog.pack();
		MessageDialog.setVisible(true);
		MessageDialog.setResizable(false);
		MessageDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
		MessageDialog.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
            	MessageDialog.setVisible(false);
            }
        });
	}
	/**
	 * 用户结帐时,所显示的对话框的方法
	 * @throws SQLException
	 */
	public void showCheckDialog() throws SQLException
	{
		CheckDialog=new JDialog(jf, "便翔网吧结帐的情况");
	    box1=new JPanel();
		box1.setLayout(new BoxLayout(box1,BoxLayout.Y_AXIS));
		jlMessage=new JLabel("上机结帐的信息:");
		jlCard=new JLabel("卡号:"+c1.rs1.getString(2));
		jlCertificate=new  JLabel("身份证:"+c1.rs1.getString(3));
		jlName=new JLabel("姓名:"+c1.rs1.getString(4));
		Calendar rightNow = Calendar.getInstance();
		jlUserTime=new JLabel("用户结帐的时间:"+rightNow.getTime());
		jlUser=new JLabel("用户结帐完成!");
		CheckTime=(int) System.currentTimeMillis()/60000;
		LastMoney=Integer.parseInt(c1.rs1.getString(5))-((CheckTime-UserTime)/30*2);
		jlMoney=new JLabel("结帐后余额:"+LastMoney+"元");
		box1.add(jlMessage);
		box1.add(jlCard);
		box1.add(jlCertificate);
		box1.add(jlName);
		box1.add(jlMoney);
		box1.add(jlUserTime);
		box1.add(jlUser);
		box1.add(jbOk2);
		CheckDialog.add(box1);
		CheckDialog.setLocation(200,150);
		CheckDialog.pack();
		CheckDialog.setVisible(true);
		CheckDialog.setResizable(false);
		CheckDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
		CheckDialog.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
            	CheckDialog.setVisible(false);
            }
        });
	}
	/**
	 * 查询用户卡号时,所显示的对话框的方法
	 * @throws SQLException
	 */
	public void showSelectDialog() throws SQLException
	{
		SelectDialog=new JDialog(jf,"便翔网吧查询的情况");
	    box2=new JPanel();
		box2.setLayout(new BoxLayout(box2,BoxLayout.Y_AXIS));
		jlMessage=new JLabel("查询后的信息:");
		jlCard=new JLabel("卡号:"+c1.rs1.getString(2));
		jlCertificate=new  JLabel("身份证:"+c1.rs1.getString(3));
		jlName=new JLabel("姓名:"+c1.rs1.getString(4));
		jlMoney=new JLabel("交纳金额:"+c1.rs1.getString(5)+"元");
		jlUserTime=new JLabel("用户登入的时间:"+c1.rs1.getString(6));
		box2.add(jlMessage);
		box2.add(jlCard);
		box2.add(jlCertificate);
		box2.add(jlName);
		box2.add(jlMoney);
		box2.add(jlUserTime);
		box2.add(jbOk3);
		SelectDialog.add(box2);
		SelectDialog.setLocation(200,150);
		SelectDialog.pack();
		SelectDialog.setVisible(true);
		SelectDialog.setResizable(false);
		SelectDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
		SelectDialog.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
            	SelectDialog.setVisible(false);
            }
        });
	}
	/**
	 * 查看历史记录时,所显示的对话框的方法
	 *
	 */
	public void showSelectHistoryTable()
	{
		JFrame jf1=new JFrame("历史记录查询");
		Container c2=jf1.getContentPane();
		box3=new JPanel();
		jtMessage1=new JTable();
        jtMessage1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        jtMessage1.setPreferredScrollableViewportSize(new Dimension(592, 300));
        jtMessage1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        scrollPane1 = new JScrollPane(jtMessage1);
        box3.add(scrollPane1);
        c2.add(box3);
        jf1.setVisible(true);
        jf1.pack();
        jf1.setResizable(false);
	}
	public void setModel(ComputerModel model){
		jtMessage.setModel(model);
	}
	public void setModel(Computer_copyModel model1){
		jtMessage1.setModel(model1);
	}
	
}

⌨️ 快捷键说明

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