目录

要求

实现效果:

代码:


要求

题目描述
编写一个 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);

实现效果:

代码:

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() {@Overridepublic 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 blocke1.printStackTrace();}}}});//    登陆操作jb1.addActionListener(new ActionListener() {@Overridepublic 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 blocke2.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 blocke1.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 blocke1.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();}
}

JAVA_GUI之“注册登陆界面”相关推荐

  1. 窗体案例:注册 登陆 主界面 c# 1613533126

    窗体案例:注册 登陆 主界面 c# 1613533126 效果 启动界面 注册界面 参考代码 注册与登陆基本功能 code从政1230005 https://juejin.cn/post/691170 ...

  2. asp实现注册登录界面_Win7系统登陆界面修改小技巧--win7w.com

    我们都知道登陆界面是可以替换的,长时间使用Win7系统的朋友们都习惯了默认的蓝色登陆界面,虽然说是习惯了,但是相信不少朋友觉得这个界面看上去特别单调,但是Windows 7系统用户现在要想改变他们的登 ...

  3. 从零开始实现放置游戏(十一)——实现战斗挂机(2)注册登陆和游戏主界面

    本章主要实现注册登陆功能和游戏的主界面.有了游戏的界面,大家能有更直观的认识. 本章我们主要开发的是idlewow-game模块,其实就是游戏的客户端展示层.因为是放置游戏,为了方便,主要使用spri ...

  4. 高仿Android QQ2012登陆界面和注册界面

    最近工作比较轻松,项目不忙,所以闲着的时间去研究了自己比较感兴趣的UI界面,确实漂亮的UI能给用户带来良好的体验,在android应用中一直尤为重要,这次模仿的是QQ2012Android版的的最新登 ...

  5. 使用层级观察器hierarchyviewer综合各种布局实现Android QQ2012登陆界面和注册界面...

    最近工作比较轻松,项目不忙,所以闲着的时间去研究了自己比较感兴趣的UI界面,确实漂亮的UI能给用户带来良好的体验,在android应用中一直尤为重要,这次模仿的是QQ2012Android版的的最新登 ...

  6. web前端设计与开发大作业(三)----注册与登陆界面

    一.登陆界面 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...

  7. java登陆界面连接数据库_java 登陆界面怎么写,连接数据库后

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 界面是 package 界面类; import javax.jws.soap.SOAPBinding.Use; import javax.swing.JB ...

  8. QML与C++交互:登陆界面设计

    环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前台界面,C++后台负责逻辑 效果图: 源代码: 前台qml文件 login.qml [javascript] view plain ...

  9. 怎么显示全部背景图片_Windows 聚焦图片在锁屏界面和登陆界面没有显示

    一. Windows 聚焦图片在锁屏界面和登陆界面没有显示 首先请确定设置中聚焦功能是否已经打开.打开设置-个性化-锁屏界面,确定一下背景下拉框选项是否已经设置为Windows聚焦.同时设置" ...

最新文章

  1. Jmeter性能测试之Switch控制器使用
  2. android-学习1 配置环境
  3. 好久没有写什么东西了。。。。
  4. JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3
  5. 有关HL7 的C# 源码
  6. mysql io队列_网易视频云经验分享MYSQL 5.5 的IO控制
  7. 孙鑫VC学习笔记:第七讲 对话框
  8. 云计算、雾计算、边缘计算、移动边缘计算和自动驾驶的关系
  9. 商标有效期、续展期、宽展期分别是什么意思?
  10. 证监会计算机类笔试上岸经验,公务员考试笔试166分上岸经验(全干货)
  11. BACKUP SET和BACKUP PIECE
  12. html标签的记忆巧法,小学记忆单词的方法
  13. Tensorboard无法显示图片
  14. 多租户 Saas 系统架构的设计思路
  15. 戴尔笔记本无法调节亮度怎么办?
  16. HTML列表的简单使用以及在我们网页编程中的单位你了解多少??CSS中的字体样式你又了解多少,进来康康!!HTML、CSS(三)
  17. 2021-2022学年广州市西关外国语学校九年级第二学期2月月考英语试题
  18. Windows Server 2012 r2 The system cannot write to the specifi
  19. 参与社团活动的意义_学校开展社团活动有何意义
  20. qq 电脑版导出聊天记录 用ie 浏览器可以查看

热门文章

  1. win7开机黑屏,但能看到鼠标
  2. js写距离生日还有多少天
  3. Firefox在线安装Firebug插件
  4. 防沉迷全面推行 已安装该系统游戏一览
  5. EasyExcel 自定义LocalDate类型转换器Converter
  6. 红石外汇|每日分享:随着焦点转移到本周关键数据上,空头控制了局面
  7. 信道估计 信道均衡 动态均衡 盲均衡 半盲均衡 自适应均衡……
  8. 自动化专业课和计算机技术联系,机械制造及其自动化专业介绍
  9. 金成股份冲刺上交所:年营收5.5亿 姬蕾姐弟控制98%股权
  10. 时代亿信文档权限管理概述