Java实现登录和注册功能
本文主要应用的技术有:GUI和IO流
我们要利用Java的图形化界面编程实现一个拥有注册和登录简单功能的案例
设计思路:首先我们要实现注册功能,就要有一个用来储存用户名和密码的对象,这里所采用的对象就是文件,通过IO流操作,将用户名和密码以字符串拼接的方式存入文件;其次,要做到登录的功能,就是要使用户输入的用户名和密码,能与文件中储存的(其中一条)数据对的上,就显示登录成功,否则就失败;最后我们就是要将GUI与IO流结合起来,达到实现。
代码:
package 练习;import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;public class Test1 extends JFrame{//创建文本标签和文本框JLabel usernamel=new JLabel("用户名");JLabel usernuml=new JLabel("密码 ");JTextField usernamet=new JTextField(18);JTextField usernumt=new JTextField(18);//创建一个容器用来储存JPanel jp=new JPanel();//注册和登录的按钮JButton jbutton1=new JButton("注册");JButton jbutton2=new JButton("登录");public Test1() {Toolkit t=Toolkit.getDefaultToolkit();//工具类Dimension d=t.getScreenSize();int height=(int)d.getHeight();//得到显示屏的高度int width=(int)d.getWidth();//得到显示屏的宽度this.setBounds((width-300)/2, (height-400)/2, 250, 150);//设置一个宽为250,高为150的窗口,并且让窗口居中this.setDefaultCloseOperation(3);//关闭窗口的同时,结束运行this.setTitle("登录系统");//窗口标题init();this.setVisible(true);//让窗口显示}public void init() {//将内容添加到容器中jp.add(usernamel);jp.add(usernamet);jp.add(usernuml);jp.add(usernumt);jp.add(jbutton1);jp.add(jbutton2);jbutton1.addActionListener(new ActionListener() {//添加监听器//将用户名和密码写入文件中的操作@Overridepublic void actionPerformed(ActionEvent e) {try {BufferedWriter w=new BufferedWriter(new FileWriter("D:/登录.txt",true));String sum=usernamet.getText()+" "+usernumt.getText();//中间加了空格是为了确保后续登录与文件数据匹配的稳定性BufferedReader r=new BufferedReader(new FileReader("D:/登录.txt"));boolean cot=true;String s;while((s=r.readLine())!=null) {if(sum.equals(s)) {cot=false;//如果符合其中一条数据,说明该数据就已经存在了,就不能在注册}}if(cot) {w.write(sum);w.newLine();w.flush();w.close();JOptionPane.showMessageDialog(null, "注册成功!");//对按了注册按钮做出的回应}else {JOptionPane.showMessageDialog(null, "已经存在了,请更换用户名和密码!");//对按了注册按钮做出的回应}} catch (IOException e1) {e1.printStackTrace();}}});jbutton2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String sum=usernamet.getText()+" "+usernumt.getText();//中间加了空格是为了确保与文件数据匹配的稳定性//对用户名和密码进行匹配boolean cot=false;String s;try {BufferedReader r=new BufferedReader(new FileReader("D:/登录.txt"));while((s=r.readLine())!=null) {if(s.equals(sum)) {cot=true;//如果符合其中一条数据,就为登录成功}}//对按登录按钮做出的回应if(cot) {JOptionPane.showMessageDialog(null, "登录成功!");}else {JOptionPane.showMessageDialog(null, "用户名或者密码错误,登录失败!");}} catch (Exception e1) {e1.printStackTrace();}}});this.add(jp);} public static void main(String[] args) {new Test1();}
}
页面运行结果:
注册账号结果:
如果输入了相同的账号和密码,就不会注册成功:
在比对用户名是否被注册方面,还没有完善。
登录结果:
登录失败结果:
谢谢观看!
Java实现登录和注册功能相关推荐
- 复习Java第二个项目仿QQ聊天系统 03(两种通信类、登录以及注册功能完善) Java面试题并发编程相关知识生活【记录一个咸鱼大学生三个月的奋进生活】025
记录一个咸鱼大学生三个月的奋进生活025 复习Java(仿QQ聊天系统03两种通信类.登录以及注册功能完善) TcpSocket类(与服务器进行通信) Server类(服务器类) TcpMessage ...
- Java Web 案例一 登录、注册功能实现
实现用户登录和注册功能.项目分为 Web 层.业务逻辑层.数据访问层. 将用户信息封装在 UserBean 对象中.用户信息有:username(String).password(String).ni ...
- 用户的登录及注册功能
今天来写一个简易版的用户登录和注册功能 先写一个DBUtil工具类 public class DBUtil {//加载数据库驱动static {try {Class.forName("com ...
- 【Android Studio学习】第一篇、制作一个拥有登录和注册功能的简易APP
目录 第一部分.前言 1.目标效果 2.准备知识 第二部分.详细步骤 1.新建Empty工程 2.添加资源文件 3.搭建注册界面 4.搭建登录界面 5.编写注册界面和登录界面的代码 6.设置APP初 ...
- 用python写注册登录界面web_用Python实现web端用户登录和注册功能
这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下 用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通 ...
- python123注册登录_用Python实现web端用户登录和注册功能的教程
用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...
- 前端获取验证码、手机号登录、注册功能
07.前端获取验证码.手机号登录.注册功能 Register.vue <template><div class="register"><div cla ...
- 用java数组模拟登录和注册功能
package com.linkage.login; import java.util.Scanner; public class user { // 存储用户名和密码 public static S ...
- 基于struts2和hibernate的登录和注册功能——完整实例
1.该项目使用MySQL数据库,数据库名为test,表名info,如图所示: 2.配置web.xml(Struts2使用) <?xml version="1.0" encod ...
最新文章
- 第四周课程总结实验报告(二)
- Hadoop2异常分析(二):Sqoop导出数据错误
- sql月度分组_SQL Server按月分组
- 网络 计算机网络预备知识
- 【渝粤教育】国家开放大学2018年秋季 2208T政治学原理 参考试题
- opencart笔记
- 微软在线实验室启用谷歌的reCAPTCHA,我们又丢失了一个好东东
- 查询视图遇见的问题,以及访问另一个数据库的表
- ThinkPad键盘拆解与清理(附图详解)
- 把电脑虚拟机linux下编译的程序烧写到ARM9开发板的linux系统里面的具体操作步骤
- Thinkphp 5.x远程命令执行漏洞
- 书籍推荐:国内第一本ASP.NET 3.5 MVC技术专著
- 起码数学常识凸显中学数学的重大错误0
- Centos系统下搭建Smokeping 方法
- OpenCV模板匹配和轮廓处理
- 2019北邮网安院机试真题(回忆版)@lantin
- 如何用切片工具做html网页,ps中的切片工具怎么用,怎么将html文本添加到切片...
- 超神学院的宇宙天体计算机,正文 第一章:银河之力被一分为二
- Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别
- 策略模式代替if-else