一、概要
我们可以用java实现简单的登录界面。
如上效果,直观但也需要一步一步来完成,从界面弹窗的设置,图片的插入,文本框的设置,到登录的按钮,全由代码来实现。
二、分类部分
LoginUI类:实现界面的设置,构建方法,封装好所有的界面开发代码
①initUI方法 :1、创建窗体对象;
2、设置窗体的相关属性(标题、尺寸、大小、关闭、可视化);
3、创建组件对象,按钮,输入框;
4、界面窗口添加按钮;
5、按钮添加监听器。
②main方法 :用自己的类创建对象,调用自己的方法
ButtonAction类:监听器,获取鼠标点击按钮的信息,(继承ActionListener)
我们添加按钮后,需要一个点击按钮后有反应的功能,故设置此类,能在点击按钮后做出反应。
比如此处我们设置初始账户admin,密码123456,可以输入后,点击登录,跳出登录成功的界面。
①成员方法actionPerformed,传入参数(actionPerformed)
②成员变量
public int count = 0; //先声明一个输入框的引用地址存储变量; public JTextField nameJtf; public JTextField pwdJtf; public JFrame jf1;
继承ActionListener后,必须重写里面的方法actionPerformed(用ctrl+鼠标左键 看到源文件代码)
此即监听器。
三、代码实现
LoginUI类:实现界面的设置,构建方法,封装好所有的界面开发代码
①initUI方法 :1、创建窗体对象;jf
2、设置窗体的相关属性(标题、尺寸、大小不变、位置、居中显示、关闭、可视化);setTitle,setSize,setResizable,setLocation,setLocationRelativeTo,setDefaultCloseOperation,setVisible.
3、创建组件对象,按钮,输入框,图片标签;JButton,JLabal,JTextField,ImageIcon,
4、界面窗口添加按钮:jf.add()
5、按钮添加监听器。ButtonAction btnactino = new ButtonAction();
btnaction.addActionListener(btnaction)
.
②main方法 :用自己的类创建对象,调用自己的方法;
//LoginUI类:实现界面的设置,构建方法,封装好所有的界面开发代码 //①initUI方法 :1、创建窗体对象; //2、设置窗体的相关属性(标题、尺寸、大小、关闭、可视化); //3、创建组件对象,按钮,输入框; //4、界面窗口添加按钮; //5、按钮添加监听器。 //②main方法 :用自己的类创建对象,调用自己的方法 public class LoginUI { //一、界面方法 public void initUI(){ //1:创建一个窗体的对象; JFrame jf = new JFrame(); //2:设置窗体的相关属性:标题,尺寸,关闭选项操作 可视化 jf.setTitle("登录界面"); jf.setSize(500,800); //像素单位 jf.setResizable(false); //尺寸固定 //jf.setLocation(1000,400); //位置固定 可更改 jf.setLocationRelativeTo(null); //居中显示 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //退出方式 jf.setVisible(true); FlowLayout f1 = new FlowLayout(); //流式布局 jf.setLayout(f1); //3:创建组件对象,按钮,输入框 //按钮 JButton btn = new JButton ("登录"); //标签 JLabel namejla = new JLabel("账号: "); JLabel pwdjla = new JLabel ("密码: "); //输入框 JTextField nameJtf = new JTextField(); JTextField pwdJtf = new JTextField(); //图片标签 ImageIcon imgicon = new ImageIcon("C:\\Users\\Desktop\\picture\\picture.jpeg");//图片插入,更改图片路径,需要注意后缀 JLabel imgjla = new JLabel(imgicon); //组件设置尺寸 Dimension dimsize = new Dimension (420,50); nameJtf.setPreferredSize(dimsize); pwdJtf.setPreferredSize(dimsize); //4:界面窗体添加按钮 jf.add(imgjla); jf.add(namejla); jf.add(nameJtf); jf.add(pwdjla); jf.add(pwdJtf); jf.add(btn); //可视化在所有组件加载之后 jf.setVisible(true); //可视化 交给系统渲染到屏幕上 //按钮添加监听器 ButtonAction btnaction = new ButtonAction(); btn.addActionListener(btnaction); btnactino.count=100; btnactino.nameJtf= nameJtf; btnactino.pwdJtf= pwdJtf; } //二、主函数部分 public static void main(String[] args) { //创建自己写的类的对象; LoginUI loginui = new LoginUI(); //调用方法 loginui.initUI(); } }
ButtonAction类:监听器,获取鼠标点击按钮的信息,(继承ActionListener)
public class ButtonAction implements ActionListener{ //监听器 public int count = 0; //先声明一个输入框的引用地址存储变量; public JTextField nameJtf; public JTextField pwdJtf; public JFrame jf1; //监听器 public void actionPerformed(ActionEvent e) { //获取输入框中的字符串 String nameText = nameJtf.getText(); String pwdText = pwdJtf.getText(); //比较账号 密码 设置初始账户admin,密码123456 if(nameText.equals("admin") || nameText.equals("user1")) { System.out.println("比较成功!!"); if(pwdText.equals("123456") || pwdText.equals("a123456")) { System.out.println("比较成功!!"); //创建一个新窗体弹出 JFrame jf = new JFrame(); jf.setTitle("登录响应!!"); jf.setSize(500,200); jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); java.awt.FlowLayout f1 = new java.awt.FlowLayout(); jf.setLayout(f1); JLabel jla =new JLabel ("登录成功!!"); jf.add(jla); jf.setVisible(true); jf.setLocationRelativeTo(null);//居中显示 } } } }
The above is the detailed content of How to implement a simple user login interface in Java?. For more information, please follow other related articles on the PHP Chinese website!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
