Skip to content

以后工作的时候拿到一个需求之后:

  • 分析业务逻辑
  • 分析所需要的技术点

1,所需要的技术点

第一排:用户名文字其实是一张图片,还是用JLabel去管理ImageIcon

​ 输入框:JTextField(明文显示的输入框)

第二排:密码文字其实是一张图片,还是用JLabel去管理ImageIcon

​ 输入框:JPasswordField(密文显示的输入框)

第三排:验证码文字其实是一张图片,还是用JLabel去管理ImageIcon

​ 输入框:JTextField(明文显示的输入框)

​ 验证码wyS7i:用JLabel去管理文字,需要自己写一个生成验证码的工具类。

第四排:两个都是按钮,绿色跟红色是按钮的背景图

​ 当点击按钮不松的时候,按钮变灰,其实就是换一个深色的背景图。

登录界面

2,分析业务逻辑

1,界面搭建。代码不需要大家写,大家主要完成里面的业务逻辑即可。界面搭建的代码在作业当中已经给出。

2,用静态代码块准备一些初始的用户信息

3,点击登陆按钮之后的逻辑:

  • 按下登陆不松,切换登陆按钮的背景图片
  • 松开登陆按钮,逻辑较为复杂
  • 获取用户输入的用户名,密码,验证码。
  • 先比较验证码(正确 错误)
  • 判断用户名和密码是否为空,只要有一个为空就不行
    • 细节:如果用户没有输入用户名和密码,在代码中获取的不是null,而是长度为0的字符串
  • 用户名,密码比较正确,显示登陆成功跳转游戏界面
  • 用户名,密码比较错误,提示错误

4,点击注册按钮之后的逻辑 - 暂时不需要写逻辑,后面学习完IO的时候再补

5,点击验证之后

  • 更换一个新的验证码(写一个工具类提供验证码)

项目实现步骤:

  • 对主界面进行设置
  • 在主界面添加用户名和密码以及登录,注册按钮
  • 对登录按钮绑定鼠标事件

主界面设置:

设置大小
设置居中
设置置顶
设置关闭模式
取消内部布局
让界面可见

添加组件

创建JLabel添加用户名文字
对用户名文字设置位置和宽高116, 135, 51, 19

创建用户名的文本输入框JTextField
对用户名的文本输入框设置位置和宽高195, 134, 200, 30

创建JLabel添加密码文字
对密码文字设置位置和宽高130, 195, 35, 18

创建密码的文本输入框JTextField
对密码的文本输入框设置位置和宽高195, 195, 200, 30

创建登录的按钮JButton
利用setIcon方法给登录按钮设置背景色
对登录的按钮设置位置和宽高133, 260, 90, 40

创建注册的按钮JButton
利用setIcon方法给注册按钮设置背景色
对登录的按钮设置位置和宽高256, 260, 90, 40

创建背景色JLabel
给背景色设置位置和宽高0, 0, 470, 390

将上面7个组件添加到主界面的中心面板中

绑定事件:

给登录按钮绑定鼠标事件
当按下不松的时候利用setIcon方法修改登录按钮的背景色为蓝色
当松开的时候利用setIcon方法将按钮的背景色修改为红色
当点击的时候校验用户输入的用户名和密码是否正确

mouseClicked方法详解:

先判断当前按下的是否为登录按钮
如果是登录按钮获取输入框中的用户名和密码
判断1是否为空如果为空提示用户名和密码为空
判断2判断用户名和密码是否为zhangsan123456如果正确隐藏登录界面进入游戏界面
判断3判断用户吗和密码如果错误就展示弹框提示用户名和密码错误

展示弹框步骤:

成员位置创建JDialog对象

利用isVisible方法判断弹框是否存在如果不存在则进行下面操作
设置弹框的宽和高:100,100
设置弹框居中    
设置弹框置顶
移除弹框中所有文本
创建一个JLabel去编写文本内容
把文本JLabel添加到弹框当中
把弹框展示出来