您好,登录后才能下订单哦!
请求超时!
请点击 重新获取二维码这篇文章主要讲解了java模仿实现QQ登录界面的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自己的图片。
结果截图如下所示:
代码:
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登录界面的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
哆哆女性网制作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图男子被猫抓伤后确诊“猫抓病”