温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 编程语言 > 
  • java模仿实现QQ登录界面的方法

java模仿实现QQ登录界面的方法

发布时间:2020-07-27 09:44:02 来源:亿速云 阅读:347 作者:小猪 栏目: 编程语言

这篇文章主要讲解了java模仿实现QQ登录界面的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自己的图片。

结果截图如下所示:

java模仿实现QQ登录界面的方法java模仿实现QQ登录界面的方法

代码:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class QQ2015 extends JFrame implements ActionListener {
JFrame loginFrame;
// 复选框
private JCheckBox jc1;
private JCheckBox jc2;
// 用户名
private JTextField username;
// 密码
private JPasswordField password;
// 错误消息提示
JLabel mes;
// 创建一个HashMap,用以保存帐号和密码
HashMap<String, String> users = new HashMap<String, String>();

// 主函数入口
public static void main(String[] args) {
QQ2015 qq2015 = new QQ2015();
qq2015.showLoginFrame();
}

// 构造方法
public QQ2015() {
users.put("123456", "123456");
users.put("302795036", "123456");
users.put("123", "123456");
}

// 创建登陆界面方法
public void showLoginFrame() {
loginFrame = new JFrame();
// 设置大小,位置,标题
loginFrame.setSize(410, 380);
loginFrame.setTitle("修衡-QQ2015");
loginFrame.setLocationRelativeTo(null);
// 创建边界布局对象
loginFrame.setLayout(new BorderLayout());
JPanel panelTop = new JPanel(new FlowLayout());
JPanel panelCenter = new JPanel(new GridLayout(3, 1));
JPanel panelFooter = new JPanel(new GridLayout(2, 1));
JPanel panelFooter1 = new JPanel(new FlowLayout());
JPanel panelFooter2 = new JPanel(new FlowLayout());
panelFooter.add(panelFooter1);
panelFooter.add(panelFooter2);
JPanel panelLeft = new JPanel(new GridLayout(1, 1));
JPanel panelRight = new JPanel(new GridLayout(3, 1));
loginFrame.add("North", panelTop);
loginFrame.add("Center", panelCenter);
loginFrame.add("South", panelFooter);
loginFrame.add("West", panelLeft);
loginFrame.add("East", panelRight);
(new BorderLayout()).setHgap(50);
// 插入图片
Image im = new ImageIcon("imgs/qq.png").getImage();
im = im.getScaledInstance(-1, 90, DO_NOTHING_ON_CLOSE);
loginFrame.setIconImage(im);
JLabel tl = new JLabel(new ImageIcon("imgs/top.png"));
panelTop.add(tl);
// 可以设置panelTop背景颜色
// panelTop.setBackground(Color.YELLOW);
JLabel ll = new JLabel(new ImageIcon("imgs/left.png"));
panelLeft.add(ll);
// 创建注册账号和找回密码标签
JLabel reg_name = new JLabel(" 注册账号 ");
JLabel find_password = new JLabel(" 找回密码 ");
reg_name.setForeground(Color.BLUE);
find_password.setForeground(Color.BLUE);
// 创建帐号和密码输入框
username = new JTextField(18);
password = new JPasswordField(18);
// 复选框
jc1 = new JCheckBox("记住密码 ");
jc2 = new JCheckBox("自动登录");
JLabel nul1 = new JLabel(" ");
JLabel nul2 = new JLabel(" ");
// 错误消息提示标签
mes = new JLabel();
mes.setForeground(Color.RED);
// 部分布局
JPanel pancener = new JPanel(new FlowLayout());
pancener.add(jc1);
pancener.add(nul1);
pancener.add(jc2);
// 创建登陆,重置按钮
JButton button_reset = new JButton(" 重 置 ");
JButton button_login = new JButton(" 登 陆 ");
button_login.setBackground(Color.pink);
// 窗体大小不能改变
loginFrame.setResizable(false);
// 设置窗体可见
loginFrame.setVisible(true);
// 将文本输入框,按钮,事件监听对象等添加
panelCenter.add(username);
panelCenter.add(password);
panelCenter.add(pancener);
panelRight.add(reg_name);
panelRight.add(find_password);
panelFooter1.add(button_reset);
panelFooter1.add(nul2);
panelFooter1.add(button_login);
panelFooter2.add(mes);
button_reset.addActionListener(this);
button_login.addActionListener(this);
// reg_name.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
boolean f = false;
String pw = null;
// 重置事件
if (str.equals(" 重 置 ")) {
username.setText("");
password.setText("");
mes.setText("");
}
// 登录事件
if (str.equals(" 登 陆 ")) {
mes.setText("");
Set<Map.Entry<String, String>> set = users.entrySet();
for (Map.Entry<String, String> me : set) {
if (username.getText().trim().equals(me.getKey())) {
f = true;
pw = me.getValue();
break;
}
}
if (f) {
// if (password.getPassword().equals(pw)) {
if (password.getText().trim().equals(pw)) {
JOptionPane.showMessageDialog(null, "登录成功");
} else {
mes.setText("温馨提示:密码为空或错误,请重新输入!");
}
} else {
mes.setText("温馨提示:帐号为空或错误,请重新输入!");
}
}
}
}

看完上述内容,是不是对java模仿实现QQ登录界面的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节
推荐阅读:
  1. 使用electron实现类似新版QQ的登录界面效果
  2. JS如何模仿qq右下角消息弹窗功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java ava
  • 上一篇新闻:
    有哪些电脑格式化的危害
  • 下一篇新闻:
    python相对路径和绝对路径的概念

猜你喜欢

  • 如何彻底删除ubuntu系统
  • ubuntu系统如何关闭防火墙
  • 如何安装ubuntu虚拟机
  • sql server如何启动
  • sql注入如何防御
  • oracle数据库如何卸载
  • oracle数据库如何迁移
  • 如何访问oracle数据库
  • java如何打印日志
  • python如何逆序输出数字
最新资讯
  • GraphQL中的订阅是如何工作的
  • 解释GraphQL中的查询和变更
  • 如何定义GraphQL schema
  • GraphQL和RESTful API之间有什么区别
  • 什么是GraphQL它解决了哪些问题
  • 如何在Flask中使用GraphQL构建高效且灵活的API
  • 在Flask应用中如何通过AB测试评估新功能的效果
  • 如何在Flask中实现与传统Web服务的集成
  • 在Flask中如何构建和维护一个健壮的API客户端库
  • 如何在Flask中使用WebSocket协议实现双向通信
相关推荐
  • JS如何模仿QQ好友列表展开、收缩功能
  • JS如何实现模仿QQ头像资料卡显示与隐藏效果
  • iOS如何实现模仿QQ侧边栏
  • java实现模仿斗地主发牌的方法
  • Android Studio如何实现简单的QQ登录界面?
  • Java Swing仿QQ登录界面效果的实现方法
  • C语言怎么模仿实现QQ聊天界面抖动功能
  • Java怎么实现简单的登录界面
  • JavaGUI如何模仿实现QQ聊天功能
  • java如何实现简单登录界面

相关标签

java- javafx教程 java学习 javamail java学习路线 java程序 java虚拟机 java 链表 java后端 java nio javase java rmi java1.8 java文件 javascript/jquery javaswing weixin-java-miniapp java虚拟主机 java10 javax.servlet
AI

哆哆女性网制作b2c电商网站周易中国哈尼情侣网名芭比之梦想豪宅游戏破解版发型设计与脸型搭配app世界奇闻异事未解之谜双宝胎男宝宝起名字大全小女孩免费起名打分秦氏起名大全女孩名字的延禧攻略资源起名字测验1518八字起名是不是缺什么补什么?属猴怎么起名字参观红色教育观后感人口平均期望寿命计算营销推广怎么写3d硬金珠宝立即起名圻字起女孩名字劣等阵容周公解梦破解大全查询睢县吴海燕百度推广-搜索营销新视角网上学设计哪个网站好算死命小说免费收听周易占卜手机号书店起啥名字代做网页seo优化学习seo的基础双胎宝宝起名大全免费淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化