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

📄 logform.java

📁 一个网吧登录系统
💻 JAVA
字号:
package com.hotdon.mem;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.text.DateFormat;
import javax.swing.*;
import java.util.*;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class logform extends JFrame implements ActionListener{
     //定义组件Dialog
	Timer timer1=new Timer();
	Timer timer2=new Timer();
	Date loginDate=new Date();
	String timeCount,timeHour,timeMinute,timeSecond;
	int hours=0,minutes=0,seconds=0;
	JLabel la1=new JLabel("账号");
	JLabel la2=new JLabel();
	JLabel la3=new JLabel("上网日期");
	JLabel la4=new JLabel();
	JLabel statusBar=new JLabel();
	JLabel la5=new JLabel("已上线时间");
	JLabel la6=new JLabel();
	JLabel la7=new JLabel("余额");
	JLabel la8=new JLabel();
	//更改密码的组件
	JLabel lb1=new JLabel();
	JLabel lb2=new JLabel();
	JPasswordField tx1=new JPasswordField(8);
	JPasswordField tx2=new JPasswordField(8);
	public logform(Frame parent,String memberID1){//本类的构造方法
		try{
			setDefaultCloseOperation(EXIT_ON_CLOSE);
			jbInit(memberID1);//初始化(使用下面的jbInit方法)
		}
		catch(Exception exception){
			exception.printStackTrace();
		}
	}
	private void jbInit(String member)throws Exception{
		JPanel pane_Insert=new JPanel();
		pane_Insert.setLayout(new GridBagLayout());
		GridBagConstraints gbc=new GridBagConstraints();
		gbc.anchor=GridBagConstraints.WEST;
		gbc.insets=new Insets(2,2,2,2);
		pane_Insert.setBorder(BorderFactory.createTitledBorder(""));
		setTitle("会员登录信息");
		statusBar.setText("按[确定]按钮提交删除信息");
		//文本框架1
		gbc.gridy=1;
		gbc.gridx=0;
		pane_Insert.add(la2,gbc);
		//显示所登录 的会员账号代码
		gbc.gridy=1;
		gbc.gridx=1;
		la2.setText(member);
		pane_Insert.add(la2,gbc);
		gbc.gridy=2;
		gbc.gridx=0;
		pane_Insert.add(la3,gbc);
		//取系统日期与时间
		String var=DateFormat.getDateTimeInstance().format(loginDate);
		la4.setText(var);
		gbc.gridy=2;
		gbc.gridx=1;
		pane_Insert.add(la4,gbc);
		gbc.gridy=3;
		gbc.gridx=0;
		pane_Insert.add(la5,gbc);
		gbc.gridy=3;
		gbc.gridx=1;
		pane_Insert.add(la6,gbc);
		gbc.gridy=4;
		gbc.gridx=0;
		pane_Insert.add(la7,gbc);
		gbc.gridy=4;
		gbc.gridx=1;
		pane_Insert.add(la8,gbc);
		//计算上线时间:开始
		timer2.schedule(new TimerTask(){
			public void run(){
				seconds+=1;
				if(seconds==60){
					minutes+=1;
					seconds=0;
					if(minutes==60){
						hours+=1;
						minutes=0;
					}
				}
				timeHour=Integer.toString(hours);
				timeMinute=Integer.toString(minutes);
				timeSecond=Integer.toString(seconds);
				timeCount=timeHour+"小时"+timeMinute+"分钟"+timeSecond+"秒";
				la6.setText(timeCount);
			}
		},0,1000);//计算上线时间:结束
		//添加上线信号到数据库中
		//开始
		dataDAO dao=null;
		dao=(com.hotdon.mem.dataDAO) new com.hotdon.dao.dataDAOImpl();
		try{
			String Query;
			Query="select * from memberTable";
			ResultSet rs1=dao.getData(Query);
			while(rs1.next()){
				Query="update memberTable set online='"+1+"'where"+
				"memberID='"+la2.getText().trim()+"'";
				dao.updateData(Query);
				dao.close();
			}
		}
		catch(SQLException exception){
			exception.printStackTrace();
		}//结束
		/*添加时间计数器代码,每隔1分计余额(减0.05)一次并更新一次余额*/
		//开始
		timer1.schedule(new TimerTask(){
			public void run(){
				dataDAO dao=null;
				dao=(com.hotdon.mem.dataDAO)new com.hotdon.dao.dataDAOImpl();
				try{
					String QueryString;
					QueryString="select * from memberTable";
					ResultSet rs=dao.getData(QueryString);
					while(rs.next()){
						if(rs.getString("memberID").equals(la2.getText().trim())){
							float money;
							money=Float.parseFloat(rs.getString("leftmoney"));
							if(money>0.05){//检查余额是否足够
								money-=0.05;//扣余额0.05元一分钟
								la8.setText(Float.toString(money)+'元');
								QueryString="update memberTable set leftmoney='"+money+"'"
								+"where memberID='"+la2.getText().trim()+"'";
								dao.updateData(QueryString);
								dao.close();
							}
							else{
								final JDialog dialog= new JDialog((Frame) null,"错误",true);
								Container dialogContenPane=dialog.getContentPane();
								dialogContenPane.setLayout(new FlowLayout());
								dialogContenPane.add(new JLabel("余额不足!请充值"));
								JButton jbutton=new JButton("确认");
								dialogContenPane.add(jbutton);
								jbutton.addActionListener(new ActionListener(){
									public void actionPerformed(ActionEvent e){
										dialog.dispose();
										dataDAO dao=null;
										dao=(com.hotdon.mem.dataDAO) new
										com.hotdon.dao.dataDAOImpl();
										try{
											//取时间
											Date a2=new Date();
											String var2=DateFormat.getDateTimeInstance().format(a2);
											JTextField timeout2=new JTextField();
											timeout2.setText(var2);
											String QueryString="insert into record"+
											"(memberID,logtime,logouttime,timecount)"+
											"values('"+la2.getText()+"','"+
											la4.getText()+"','"+timeout2.getText()+
											"','"+la6.getText()+"')";
											dao.updateData(QueryString);
											dao.close();
										}
										catch(SQLException exception){
											exception.printStackTrace();
										}
										/*下线信号发送* */
										try{
											String QueryString;
											QueryString="select * from memberTable";
											ResultSet rs=dao.getData(QueryString);
											while(rs.next()){
												QueryString="update memberTable set online='"+0+
												"'where memberID='"+la2.getText().trim()+"'";
												dao.updateData(QueryString);
												dao.close();
											}
										}
										catch(SQLException exception){
											exception.printStackTrace();
										}
										//关闭窗体
										timer1.cancel();
										timer2.cancel();
										dispose();
									}
								});
								dialog.setBounds(450,300,100,90);
								dialog.setVisible(true);
							}//else
						}//if
					}//while
				}//try
			catch(Exception exception){
				exception.printStackTrace();
			}
		   }
		},0,60*1000);//每1分钟计数一次
		gbc.gridy=5;
		gbc.gridx=0;
		JButton updatePasswordButton=new JButton("密码");
		pane_Insert.add(updatePasswordButton,gbc);
		updatePasswordButton.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			/*消息框代码*/
			final JDialog dialog1=new JDialog((Frame) null,"密码更改");
			Container dialogContenPane=dialog1.getContentPane();
			dialogContenPane.setLayout(new FlowLayout());
			lb1.setText("  新密码:");
			lb2.setText("确定新密码");
			dialogContenPane.add(lb1);
			dialogContenPane.add(tx1);
			dialogContenPane.add(lb2);
			dialogContenPane.add(tx2);
			JButton jbutton=new JButton("更改");
			dialogContenPane.add(jbutton);
			jbutton.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					int flag=0;
					dataDAO dao=null;
					dao=(com.hotdon.mem.dataDAO) new 
					com.hotdon.dao.dataDAOImpl();
					if(tx1.getText().trim().equals(tx2.getText().trim())){
						try{
							String QueryString;
							QueryString="select * from memberTable";
							ResultSet rs=dao.getData(QueryString);
							if(! tx1.getText().trim().equals("")
									&& ! tx2.getText().trim().equals("")){
								while(rs.next()){
									flag=1;
									QueryString="update memberTable set password='"+
									tx1.getText().trim()+"' where memberID'"+
									la2.getText().trim()+"'";
									dao.updateData(QueryString);
									dao.close();
								}
								if(flag==1){
									final JDialog dialog=new JDialog((Frame)null,"成功",true);
									Container dialogContenPane=dialog.getContentPane();
									dialogContenPane.setLayout(new FlowLayout());
									dialogContenPane.add(new JLabel("更新成功!"));
									JButton jbutton=new JButton("确认");
									dialogContenPane.add(jbutton);
									jbutton.addActionListener(new ActionListener(){
										public void actionPerformed(ActionEvent e){
											dialog.dispose();
											tx1.setText("");
											tx2.setText("");
										}
									});
									dialog.setBounds(450,300,100,90);
									dialog.setVisible(true);
									dialog1.setVisible(false);
								}
							}
							else{
								final JDialog dialog=new JDialog((Frame) null,"错误",true);
								Container dialogContenPane=dialog.getContentPane();
								dialogContenPane.setLayout(new FlowLayout());
								dialogContenPane.add(new JLabel("新密码不能为空!"));
								JButton jbutton=new JButton("确认");
								dialogContenPane.add(jbutton);
								jbutton.addActionListener(new ActionListener(){
									public void actionPerformed(ActionEvent e){
										dialog.dispose();
										tx2.setText("");
									}
								});
								dialog.setBounds(450,300,100,90);
								dialog.setVisible(true);
							}
						}//try
						catch(Exception exception){
							exception.printStackTrace();
						}
					}//if
					else{
						final JDialog dialog=new JDialog((Frame) null,"错误",true);
						Container dialogContenPane=dialog.getContentPane();
						dialogContenPane.setLayout(new FlowLayout());
						dialogContenPane.add(new JLabel("新密码不一致!"));
						JButton jbutton=new JButton("确认");
						dialogContenPane.add(jbutton);
						jbutton.addActionListener(new ActionListener(){
							public void actionPerformed(ActionEvent e){
								dialog.dispose();
								tx1.setText("");
								tx2.setText("");
							}
						});
						dialog.setBounds(450,300,100,90);
						dialog.setVisible(true);
					}
				}
			});
			dialog1.setBounds(450,300,195,130);
			dialog1.setVisible(true);
		}
	});
		gbc.gridy=5;
		gbc.gridx=1;
		JButton InsertExitButton=new JButton("退出登录");
		pane_Insert.add(InsertExitButton,gbc);
		InsertExitButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				/***添加写入数据库record表登录时间的代码***/
				dataDAO dao=null;
				dao=(com.hotdon.mem.dataDAO) new 
				com.hotdon.dao.dataDAOImpl();
				try{
					//取系统时间
					Date al=new Date();
					String varl=DateFormat.getDateInstance().format(al);
					JTextField timeout1=new JTextField();
					timeout1.setText(varl);
					String QueryString="insert into record"+
					"memberID,logtime,logouttime,timecount)"+
					"values('"+la2.getText()+"','"+la2.getText()+
					"','"+timeout1.getText()+"','"+la6.getText()+"')";
					dao.updateData(QueryString);
					dao.close();
				}
				catch(SQLException exception){	
					exception.printStackTrace();
				}
				/***下线信号发送***/
				try{
					String QueryString;
					QueryString="select * from memberTable";
					ResultSet rs=dao.getData(QueryString);
					while(rs.next()){
						QueryString="update memberTable set online='"+0+
						"'where memberID='"+la2.getText().trim()+"'";
						dao.updateData(QueryString);
						dao.close();
					}
				}
				catch(SQLException exception){
					exception.printStackTrace();	
				}
				//关闭窗体
				timer1.cancel();
				timer2.cancel();
				dispose();
				}
			});
		getContentPane().add(pane_Insert,null);
		setResizable(true);
		}//jbInit
	/***按钮事件处理方法***/
	public void actionPerformed(ActionEvent actionEvent){
		dataDAO dao=null;
		dao=(com.hotdon.mem.dataDAO) new com.hotdon.dao.dataDAOImpl();
		try{
			Date a2=new Date();
			String var2=DateFormat.getDateTimeInstance().format(a2);
			JTextField timeout2=new JTextField();
			timeout2.setText(var2);
			String QueryString="insert int record"+
			"(memberID,logtime,logouttime,timecount)"+
			"values('"+la2.getText()+"','"+la4.getText()+"','"+
			timeout2.getText()+"','"+la6.getText()+"')";
			dao.updateData(QueryString);
			dao.close();
		}
		catch(SQLException exception){
			exception.printStackTrace();
		}
		/***下线信号发送***/
		try{
			String QueryString;
			QueryString="select * from memberTable";
			ResultSet rs=dao.getData(QueryString);
			while(rs.next()){
				QueryString="update memberTable set online='"+0+
				"'where memberID='"+la2.getText().trim()+"'";
				dao.updateData(QueryString);
				dao.close();
			}
		}
		catch(SQLException exception){
			exception.printStackTrace();	
		}
		timer1.cancel();
		timer2.cancel();
		dispose();
	}
}

⌨️ 快捷键说明

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