JAVA_GUI之“注册登陆界面”

这篇具有很好参考价值的文章主要介绍了JAVA_GUI之“注册登陆界面”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

要求

实现效果:

代码:


要求

题目描述
编写一个 GUI 登录界面,如下图:

                                JAVA_GUI之“注册登陆界面”
输入用户名、密码,
        1、如果是第一次进入该界面,请点击“注册”,自动将用户名和密码存入“学号.txt”文件。然
后登陆。
        2、如果不是第一次进入该界面,请点击“登陆”。如果输入正确,显示“登陆成功!”的提示框;
否则,给出“不存在该用户!”或“密码错误,请重新输入!”的提示框,并清空用户名、
密码输入区域。
基本要求
        A.用户名为考生自己的学号,密码必须包含大写字母、小写字母和数字。
        B.用户的业务逻辑单独使用类的定义完成 
评分标准
A. 用户类的定义(30 分)
B.程序界面设计(20 分)
C. 事件处理(20 分)
D. 异常处理(10 分)
E. 文件读写(10 分)
E. 程序正常运行(10 分)
每个评分标准中都包含代码质量(40%)、规范性(30%)和结果正确性(30%) 
提示:消息提示框
import javax.swing.JOptionPane;
String message=" 不存在 ID 为 "+ID+" 的职工.";
JOptionPane.showMessageDialog(null,message,"信息消息提示框", 
JOptionPane.INFORMATION_MESSAGE);

实现效果:

JAVA_GUI之“注册登陆界面”

JAVA_GUI之“注册登陆界面”

JAVA_GUI之“注册登陆界面”

 JAVA_GUI之“注册登陆界面”

代码:

package MY_GUI;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class test {
	public char[] DD = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
	public char[] dd = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
	public char[] ss = {'0','1','2','3','4','5','6','7','8','9'};
//	public String[] D = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","L","S","T","U","V","W","X","Y","Z"};
//	public String[] d = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","l","s","t","u","v","w","x","y","z"};
//	public String[] s = {"0","1","2","3","4","5","6","7","8","9"};
	public JTextField jtext0,jtext1;
	public String get_jtext0,get_jtext1;
	public JFrame jf;
    //目标文件
	final String TARGET_FILE = "2000300420.txt";
    File targetFile = new File(TARGET_FILE);
    
	public test() throws IOException {
		jf = new JFrame("注册登陆页面");
		jf.setSize(270, 270);
		jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		
		JPanel jp0 = new JPanel();
		JPanel jp1 = new JPanel();
		JPanel jp2 = new JPanel();
		
        jp0.add(new JLabel("用户名:"));
        jtext0 = new JTextField(10);
        jp0.add(jtext0);

        jp1.add(new JLabel("密  码:"));
        jtext1 = new JTextField(10);
        jp1.add(jtext1);
	    
	    JButton jb0 = new JButton("注册");
	    JButton jb1 = new JButton("登陆");
	    jp2.add(jb0);
	    jp2.add(jb1);
	    
        if(targetFile.createNewFile()) {
            System.out.println("文件不存在,创建成功");
        }else {
            System.out.println("文件存在");
        } 
	    
	    // 	注册操作
	    jb0.addActionListener(new ActionListener() {
	        @Override
	        public void actionPerformed(ActionEvent e) {
	        	String get_jtext0 = jtext0.getText();
	        	String get_jtext1 = jtext1.getText();
	        	int found0 =0,found1 =0,found2 =0;
	        	
	        	char[] a=get_jtext1.toCharArray();
	        	for(int yy=0;yy<a.length;yy++) {
	    		for(int y=0;y<26;y++) {
	    			if(a[yy]==DD[y]) {
	    				found0=1;
	    				break;
	    			}
	    		}
	        	}
	        	for(int yy=0;yy<a.length;yy++) {
    			for(int y=0;y<26;y++) {
    				if(a[yy]==dd[y]) {
    					found1=1;
    					break;
    				}
    			}
	        	}
	        	for(int yy=0;yy<a.length;yy++) {
    			for(int y=0;y<10;y++) {
    				if(a[yy]==ss[y]) {
    					found2=1;
    					break;
    				}
    			}
	        	}
    			System.out.println(found0+found1+found2);
    			if(found0==0||found1==0||found2==0) {
    				System.out.println("密码格式错误!");
    				// 消息对话框无返回, 仅做通知作用
			        JOptionPane.showMessageDialog(
			                jf,
			                "密码必须包含大写、小写字母和数字!",
			                "注册失败",
			                JOptionPane.INFORMATION_MESSAGE
			        );
    			}else {
					try {
						//打开文件字符输出流
				        FileWriter writer = new FileWriter(targetFile,true);
						//写入文件
				        writer.write("\n");
				        writer.write(get_jtext0);
				        System.out.println(get_jtext0);
				        writer.write("\n");
				        writer.write(get_jtext1);
				        writer.flush();
				        //关闭输出流
				        writer.close(); 
				        // 消息对话框无返回, 仅做通知作用
				        JOptionPane.showMessageDialog(
				                jf,
				                "注册成功!",
				                "注册",
				                JOptionPane.INFORMATION_MESSAGE
				        );
				        // 消息对话框无返回, 仅做通知作用
				        JOptionPane.showMessageDialog(
				                jf,
				                "登陆成功!",
				                "登陆",
				                JOptionPane.INFORMATION_MESSAGE
				        );
					} catch (IOException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
    			}
	        }
	    });
	    
	    // 	登陆操作
	    jb1.addActionListener(new ActionListener() {
	        @Override
	        public void actionPerformed(ActionEvent e) {
	        	String get_jtext0 = jtext0.getText();
	        	String get_jtext1 = jtext1.getText();
	        	
            	// 读  
            	FileReader in = null;
				try {
					in = new FileReader("2000300420.txt");
				} catch (FileNotFoundException e2) {
					// TODO Auto-generated catch block
					e2.printStackTrace();
				}  
            	BufferedReader bufIn = new BufferedReader(in);  
            	String line = null;  
            	String[] datas = new String[100];
            	//	读入结果
            	int i=0;
            	int j=0;
            	try {
					while ( (line = bufIn.readLine()) != null) {  
						datas[i]=line;
					   	i++;
					}
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
            	while(true) {      	
            		if(datas[j].equals(get_jtext0)&&datas[j+1].equals(get_jtext1)) {
            			// 消息对话框无返回, 仅做通知作用
    			        JOptionPane.showMessageDialog(
    			                jf,
    			                "登陆成功!",
    			                "登陆",
    			                JOptionPane.INFORMATION_MESSAGE
    			        );
            		    break;
            		}
            		j++;
            		if(datas[j]==null) {
            			System.out.println("不存在该用户!");
            			//  清除框内输入字符
                    	jtext0.setText("");
                    	jtext1.setText("");
            			// 消息对话框无返回, 仅做通知作用
    			        JOptionPane.showMessageDialog(
    			                jf,
    			                "不存在该用户!",
    			                "登陆失败",
    			                JOptionPane.INFORMATION_MESSAGE
    			        );
            			break;
            		}
            	}
            	// 关闭 输入流  
            	try {
					bufIn.close();
					in.close();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}  
			}
	    });
	    
	    
	    
	    // 创建一个垂直盒子容器, 把上面 3 个 JPanel 串起来作为内容面板添加到窗口
	    Box vBox = Box.createVerticalBox();
	    vBox.add(jp0);
	    vBox.add(jp1);
	    vBox.add(jp2);

	    jf.setContentPane(vBox);
//	    jf.pack();
	    jf.setLocationRelativeTo(null);
	    jf.setVisible(true);
	}
	
    public static void main(String[] args) throws IOException {
        new test();
    }
}

 文章来源地址https://www.toymoban.com/news/detail-498377.html

到了这里,关于JAVA_GUI之“注册登陆界面”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java-Web前后端交互实现登陆注册(附源码)

    1.完成用户登录功能。 2.完成注册功能。 3.主体利用Maven导入java中的jar包,使用Servlet实现前后端交互,使用mybatis以及注解,mysql进行数据保存,Tomcat服务器进行开发。 效果图 项目结构 代码 mapper(相对应注解) pojo(实体类) 3.util(工具类) 4.web(Servlet) 1.loginServlet 2.registerServlet

    2023年04月21日
    浏览(31)
  • PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】

    强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! PHP无类 PHP类写法 ThinkPHP框架 其它框架 *5.0 环境 PHP版本 mysql版本

    2024年02月15日
    浏览(45)
  • 如何使用Java实现图形用户界面(GUI)?

    随着计算机技术的不断发展,图形用户界面(GUI)成为现代软件开发的一个重要方面。通过使用GUI,开发人员可以创建具有可视化界面的应用程序,以提供更好的用户体验。在本文中,我们将介绍如何使用Java实现GUI。 Java提供了多个GUI库,包括Swing、JavaFX和AWT。其中,Swing和

    2024年02月04日
    浏览(40)
  • ElementUI之登陆+注册->饿了吗完成用户登录界面搭建,axios之get请求,axios之post请求,跨域,注册界面

     饿了吗完成用户注册登录界面搭建 axios之get请求 axios之post请求 跨域 注册界面 1.饿了吗完成用户注册登录界面搭建 将端口号8080改为8081 导入依赖,在项目根目录使用命令npm install element-ui -S,添加Element-UI模块 -g:将依赖下载node_glodal全局依赖 -d(依赖放在static/[]package.json的

    2024年02月04日
    浏览(49)
  • Django实现登陆注册

    项目的配置都是十分基础的东西,在此就不再做过多的赘述,下边先用一张图片了解一下,登陆注册的具体流程 通过这张图我们可以基本了解,登陆注册需要的参数以及使用的一些方法,知识点,下边我们开始代码部分 我们先来定义一下模型类 这里的模型类我使用了django里

    2024年02月02日
    浏览(34)
  • SpringBoot实现登陆注册(附源码)

            先看看我的项目总结吧: 先说完美的吧,因为前端登陆注册界面是之前的,这次就复制了一下,在前端部分仅书写了一些vue,使用v-model绑定username以及password,发送axios请求,后端那部分因为使用的是mybatis-plus,也没有编写一些sql语句,当然,这些sql语句也不是很复

    2024年02月11日
    浏览(33)
  • docker hub 访问不了,可以进行拉取和推送,但是不能进行注册登陆了,界面找不到了,大家一起讨论看看有什么好的解决办法。

    在 oschina 的地方找找了文章和原因: https://www.oschina.net/comment/news/241627 目前配置源还是可以正常的pull 和 push 的。 昨天刚把 IOT 项目的镜像推送上去。 但是登陆不了界面,创建不了新的应用了。还不是很方便。 https://jianmuhub.com/ 看上去貌似应用和镜像比较少. 还有个地方:d

    2024年02月09日
    浏览(46)
  • Python 开发实现登陆和注册模块

    本例设计一个用户登录和注册模块,使用Tkinter框架构建界面,主要用到画布、文本框、按钮等组件。涉及知识点:Python Tkinter界面编程、pickle数据存储。本例实现了基本的用户登录和注册互动界面,并提供用户信息存储和验证。 pickle是python语言的一个标准模块,安装python后已

    2024年04月22日
    浏览(32)
  • Java | GUI 图形用户界面

            GUI 全称 Graphical User Interface 图形用户界面 ,指采用图形方式显示的计算机操作用户界面。 软件以图形界面形式运行时,用户可借助于菜单、按钮、标签等组件和通过鼠标、键盘等的操作共同完成对软件的应用。         当程序运行后,出现的图形窗口,称为

    2024年02月08日
    浏览(45)
  • Java——GUI(图形用户界面)

    1、掌握布局管理器、AWT事件处理机制以及常用事件 2、熟悉Swing组件的使用 3、了解GUI开发的相关原理和技巧 GUI全称是GraphicalUser Interface,即图形用户界面。顾名思义,就是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图形界面元素。目前,

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包